12:32:53.056 [debug] QUERY OK source="media_profiles" db=0.1ms idle=193.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:32:53.056 [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 [1301400] 12:32:53.060 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301400] 12:32:53.060 [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] 12:32:53.060 [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 [] 12:32:53.061 [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 [] 12:32:53.063 [debug] Running yt-dlp command for action: get_downloadable_status 12:32:53.064 [debug] QUERY OK source="settings" db=0.0ms 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 [] 12:32:53.064 [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 [] 12:32:53.064 [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 [] 12:32:53.065 [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/5d/8e/5d8e96f540d33fc664d055ae2c88c44e2fee3e5955da0d8aa07ce09108be02b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:32:53.247 [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/a5/67/a56713b52e8dd0ff0d44876601f2cc9be9eec07e67b3eb627f1774a6c1e9199e.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. 12:32:53.247 [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" 12:32:53.248 [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" 12:32:53.248 [info] {"args":{"id":1301399},"id":541425,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1835740,"event":"job:stop","queue_time":8411542,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:32:53.255 [info] {"args":{"id":2720968},"id":541427,"meta":{},"system_time":1793035973255209900,"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"]} 12:32:53.255 [debug] QUERY OK source="media_items" db=0.2ms 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 WHERE (m0."id" = ?) [2720968] 12:32:53.255 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:32:53.256 [debug] QUERY OK source="sources" db=0.1ms idle=191.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:32:53.256 [debug] QUERY OK source="media_profiles" db=0.1ms idle=191.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:32:53.256 [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 [2720968] 12:32:53.257 [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] 12:32:53.257 [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] 12:32:53.258 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:32:53.258 [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 [] 12:32:53.258 [debug] Running yt-dlp command for action: get_downloadable_status 12:32:53.259 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:32:53.259 [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 [] 12:32:53.259 [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 [] 12:32:53.259 [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/48/3f/483fdb4321abef40113d611b927d939a866e40692348fa4ad80b024ecd1c3f6d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:32:53.862 [debug] Current batch of media processed. Will check again in 1000ms 12:32:54.863 [debug] Current batch of media processed. Will check again in 1000ms 12:32:55.491 [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/48/3f/483fdb4321abef40113d611b927d939a866e40692348fa4ad80b024ecd1c3f6d.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. 12:32:55.491 [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" 12:32:55.491 [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" 12:32:55.491 [info] {"args":{"id":2720968},"id":541427,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2236363,"event":"job:stop","queue_time":10254561,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:32:55.498 [info] {"args":{"id":3440530},"id":541428,"meta":{},"system_time":1793035975498202165,"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"]} 12:32:55.498 [debug] QUERY OK source="media_items" db=0.1ms idle=1041.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" = ?) [3440530] 12:32:55.498 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:32:55.499 [debug] QUERY OK source="sources" db=0.1ms idle=1042.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:32:55.499 [debug] QUERY OK source="media_profiles" db=0.1ms idle=667.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:32:55.499 [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 [3440530] 12:32:55.500 [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" = ?) [3440530] 12:32:55.501 [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] 12:32:55.501 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:32:55.501 [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 [] 12:32:55.501 [debug] Running yt-dlp command for action: get_downloadable_status 12:32:55.502 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:32:55.502 [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 [] 12:32:55.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 [] 12:32:55.503 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e4/1c/e41c2af44858a47d1d4bc64b9366108efdc6636ff313028b6fe4f6805af68853.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:32:55.839 [info] {"args":{"id":51},"id":541411,"meta":{},"system_time":1793035975839168442,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:32:55.839 [debug] QUERY OK source="sources" db=0.2ms idle=336.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:32:55.839 [debug] QUERY OK source="settings" db=0.1ms idle=337.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:32:55.840 [debug] QUERY OK source="media_profiles" db=0.1ms idle=337.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:32:55.840 [debug] QUERY OK source="settings" db=0.1ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:32:55.840 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 12:32:55.864 [debug] Current batch of media processed. Will check again in 1000ms 12:32:55.902 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 12:32:55.903 [debug] QUERY OK source="media_items" db=0.5ms idle=63.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, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 12:32:55.904 [debug] QUERY OK source="media_items" db=0.4ms idle=64.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] 12:32:55.905 [debug] QUERY OK source="tasks" db=0.1ms idle=64.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541431, 51, ~U[2026-10-26 17:32:55Z], ~U[2026-10-26 17:32:55Z]] 12:32:55.905 [info] {"args":{"id":51},"id":541411,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":66287,"event":"job:stop","queue_time":583778,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:32:56.865 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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" => 621, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", "id" => "i16PHb8EagE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i16PHb8EagE", "playlist_index" => 3, "timestamp" => 1791744331, "title" => "A.I. Bots Have Taken Over Our Lives", "upload_date" => "20261011"} 12:32:56.866 [debug] QUERY OK source="sources" db=0.2ms idle=960.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:32:56.866 [debug] QUERY OK source="sources" db=0.1ms idle=961.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:32:56.869 [debug] QUERY OK source="media_items" db=2.8ms idle=960.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-11 18:45:31Z], 35] 12:32:56.871 [debug] QUERY OK source="media_items" db=1.1ms idle=957.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" ["Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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. Bots Have Taken Over Our Lives", "f1776ef1-a42f-4665-9338-d53f0ca1af12", "i16PHb8EagE", 621, false, "https://www.youtube.com/watch?v=i16PHb8EagE", 3, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", false, false, false, 35, [], 98, ~U[2026-10-11 18:45:31Z], ~U[2026-10-26 17:32:56Z], ~U[2026-10-26 17:32:56Z], "Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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. Bots Have Taken Over Our Lives", "i16PHb8EagE", 621, false, "https://www.youtube.com/watch?v=i16PHb8EagE", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", false, 35, ~U[2026-10-11 18:45:31Z]] 12:32:56.871 [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" = ?) [35] 12:32:56.871 [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] 12:32:56.872 [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 [4128476] 12:32:56.872 [debug] Current batch of media processed. Will check again in 1000ms 12:32:56.997 [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/5d/8e/5d8e96f540d33fc664d055ae2c88c44e2fee3e5955da0d8aa07ce09108be02b1.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. 12:32:56.997 [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" 12:32:56.998 [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" 12:32:56.998 [info] {"args":{"id":1301400},"id":541426,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":3942936,"event":"job:stop","queue_time":10054516,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:32:57.005 [info] {"args":{"id":3675707},"id":541429,"meta":{},"system_time":1793035977005166913,"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"]} 12:32:57.005 [debug] QUERY OK source="media_items" db=0.1ms idle=133.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" = ?) [3675707] 12:32:57.005 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:32:57.005 [debug] QUERY OK source="sources" db=0.1ms idle=134.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:32:57.006 [debug] QUERY OK source="media_profiles" db=0.1ms idle=133.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] 12:32:57.006 [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 [3675707] 12:32:57.007 [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" = ?) [3675707] 12:32:57.007 [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] 12:32:57.007 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:32:57.007 [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 [] 12:32:57.008 [debug] Running yt-dlp command for action: get_downloadable_status 12:32:57.008 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:32:57.008 [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 [] 12:32:57.009 [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 [] 12:32:57.009 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/61/23/61236f6187f9b3c9c593403343c7ae403c27762635a8a7c05ac2b9f5d5d7059b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:32:57.392 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e4/1c/e41c2af44858a47d1d4bc64b9366108efdc6636ff313028b6fe4f6805af68853.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 12:32:57.392 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 12:32:57.393 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 12:32:57.393 [info] {"args":{"id":3440530},"id":541428,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1894847,"event":"job:stop","queue_time":12497520,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:32:57.872 [debug] Current batch of media processed. Will check again in 1000ms 12:32:58.649 [info] {"source":"oban","duration":7366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:58.855 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/61/23/61236f6187f9b3c9c593403343c7ae403c27762635a8a7c05ac2b9f5d5d7059b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 12:32:58.856 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 12:32:58.856 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 12:32:58.856 [info] {"args":{"id":3675707},"id":541429,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1851086,"event":"job:stop","queue_time":14004510,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:32:58.873 [debug] Current batch of media processed. Will check again in 1000ms 12:32:59.874 [debug] Current batch of media processed. Will check again in 1000ms 12:33:00.187 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:33:00.875 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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" => 475, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", "id" => "q7kF6Jb2a8w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=q7kF6Jb2a8w", "playlist_index" => 4, "timestamp" => 1791118826, "title" => "Linux Distros Should Stop Worrying About Their Desktops", "upload_date" => "20261004"} 12:33:00.877 [debug] QUERY OK source="sources" db=0.9ms idle=688.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:00.877 [debug] QUERY OK source="sources" db=0.2ms idle=420.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:00.881 [debug] QUERY OK source="media_items" db=3.5ms idle=420.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-04 13:00:26Z], 35] 12:33:00.882 [debug] QUERY OK source="media_items" db=1.2ms idle=424.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" ["I think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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 Distros Should Stop Worrying About Their Desktops", "4c255f32-1a9e-4add-b552-d4c1c1703c17", "q7kF6Jb2a8w", 475, false, "https://www.youtube.com/watch?v=q7kF6Jb2a8w", 4, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", false, false, false, 35, [], 98, ~U[2026-10-04 13:00:26Z], ~U[2026-10-26 17:33:00Z], ~U[2026-10-26 17:33:00Z], "I think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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 Distros Should Stop Worrying About Their Desktops", "q7kF6Jb2a8w", 475, false, "https://www.youtube.com/watch?v=q7kF6Jb2a8w", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", false, 35, ~U[2026-10-04 13:00:26Z]] 12:33:00.883 [debug] QUERY OK source="sources" db=0.3ms idle=44.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 12:33:00.883 [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] 12:33:00.884 [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 [4073440] 12:33:00.884 [debug] Current batch of media processed. Will check again in 1000ms 12:33:01.884 [debug] Current batch of media processed. Will check again in 1000ms 12:33:02.885 [debug] Current batch of media processed. Will check again in 1000ms 12:33:03.886 [debug] Current batch of media processed. Will check again in 1000ms 12:33:04.887 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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" => 1699, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", "id" => "czYbW2UKRdE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=czYbW2UKRdE", "playlist_index" => 5, "timestamp" => 1790434825, "title" => "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "upload_date" => "20260926"} 12:33:04.888 [debug] QUERY OK source="sources" db=0.1ms idle=431.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:04.888 [debug] QUERY OK source="sources" db=0.1ms idle=431.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:04.892 [debug] QUERY OK source="media_items" db=3.4ms idle=432.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-26 15:00:25Z], 35] 12:33:04.894 [debug] QUERY OK source="media_items" db=2.1ms idle=435.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" ["On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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!", "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "1633da27-c78c-4610-a36e-886184e468e2", "czYbW2UKRdE", 1699, false, "https://www.youtube.com/watch?v=czYbW2UKRdE", 5, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", false, false, false, 35, [], 98, ~U[2026-09-26 15:00:25Z], ~U[2026-10-26 17:33:04Z], ~U[2026-10-26 17:33:04Z], "On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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!", "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "czYbW2UKRdE", 1699, false, "https://www.youtube.com/watch?v=czYbW2UKRdE", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", false, 35, ~U[2026-09-26 15:00:25Z]] 12:33:04.895 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [35] 12:33:04.895 [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] 12:33:04.895 [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 [4011004] 12:33:04.896 [debug] Current batch of media processed. Will check again in 1000ms 12:33:05.896 [debug] Current batch of media processed. Will check again in 1000ms 12:33:06.897 [debug] Current batch of media processed. Will check again in 1000ms 12:33:07.898 [debug] Current batch of media processed. Will check again in 1000ms 12:33:08.899 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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" => 1093, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", "id" => "3RfulXEEEN4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3RfulXEEEN4", "playlist_index" => 6, "timestamp" => 1789833606, "title" => "Vidman - A Program To View Video Man Pages", "upload_date" => "20260919"} 12:33:08.900 [debug] QUERY OK source="sources" db=0.3ms idle=443.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:08.900 [debug] QUERY OK source="sources" db=0.1ms idle=443.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:08.904 [debug] QUERY OK source="media_items" db=3.5ms idle=444.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-19 16:00:06Z], 35] 12:33:08.906 [debug] QUERY OK source="media_items" db=2.0ms idle=448.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" ["Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "Vidman - A Program To View Video Man Pages", "3510f15e-26da-4a17-b798-5ad89acd8648", "3RfulXEEEN4", 1093, false, "https://www.youtube.com/watch?v=3RfulXEEEN4", 6, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", false, false, false, 35, [], 98, ~U[2026-09-19 16:00:06Z], ~U[2026-10-26 17:33:08Z], ~U[2026-10-26 17:33:08Z], "Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "Vidman - A Program To View Video Man Pages", "3RfulXEEEN4", 1093, false, "https://www.youtube.com/watch?v=3RfulXEEEN4", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", false, 35, ~U[2026-09-19 16:00:06Z]] 12:33:08.907 [debug] QUERY OK source="sources" db=0.3ms idle=58.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:33:08.907 [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] 12:33:08.908 [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 [3959280] 12:33:08.908 [debug] Current batch of media processed. Will check again in 1000ms 12:33:09.908 [debug] Current batch of media processed. Will check again in 1000ms 12:33:10.909 [debug] Current batch of media processed. Will check again in 1000ms 12:33:11.910 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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" => 367, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", "id" => "2SyiQrsPyu8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2SyiQrsPyu8", "playlist_index" => 7, "timestamp" => 1789222519, "title" => "'nl' - number lines of files - Video Man Pages", "upload_date" => "20260912"} 12:33:11.911 [debug] QUERY OK source="sources" db=0.2ms idle=1454.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:11.911 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 12:33:11.915 [debug] QUERY OK source="media_items" db=3.5ms idle=1455.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-12 14:15:19Z], 35] 12:33:11.917 [debug] QUERY OK source="media_items" db=1.5ms idle=1064.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" ["The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "'nl' - number lines of files - Video Man Pages", "a413e6f7-8aeb-404a-83b0-c82724bb6925", "2SyiQrsPyu8", 367, false, "https://www.youtube.com/watch?v=2SyiQrsPyu8", 7, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", false, false, false, 35, [], 98, ~U[2026-09-12 14:15:19Z], ~U[2026-10-26 17:33:11Z], ~U[2026-10-26 17:33:11Z], "The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "'nl' - number lines of files - Video Man Pages", "2SyiQrsPyu8", 367, false, "https://www.youtube.com/watch?v=2SyiQrsPyu8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", false, 35, ~U[2026-09-12 14:15:19Z]] 12:33:11.918 [debug] QUERY OK source="sources" db=0.2ms idle=65.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:33:11.918 [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] 12:33:11.919 [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 [3903107] 12:33:11.919 [debug] Current batch of media processed. Will check again in 1000ms 12:33:12.919 [debug] Current batch of media processed. Will check again in 1000ms 12:33:13.920 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Politics infects everything...including Linux. Don't let this happen!\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" => 127, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", "id" => "DvI93IJvNSQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DvI93IJvNSQ", "playlist_index" => 8, "timestamp" => 1788627603, "title" => "Don't Let Linux Become Like This!", "upload_date" => "20260905"} 12:33:13.921 [debug] QUERY OK source="sources" db=0.2ms idle=464.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:13.921 [debug] QUERY OK source="sources" db=0.0ms idle=464.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:13.924 [debug] QUERY OK source="media_items" db=2.7ms idle=464.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-05 17:00:03Z], 35] 12:33:13.926 [debug] QUERY OK source="media_items" db=1.5ms idle=467.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" ["Politics infects everything...including Linux. Don't let this happen!\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!", "Don't Let Linux Become Like This!", "c26dd1f9-3184-4b18-8f9a-f3632b538daf", "DvI93IJvNSQ", 127, false, "https://www.youtube.com/watch?v=DvI93IJvNSQ", 8, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", false, false, false, 35, [], 98, ~U[2026-09-05 17:00:03Z], ~U[2026-10-26 17:33:13Z], ~U[2026-10-26 17:33:13Z], "Politics infects everything...including Linux. Don't let this happen!\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!", "Don't Let Linux Become Like This!", "DvI93IJvNSQ", 127, false, "https://www.youtube.com/watch?v=DvI93IJvNSQ", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", false, 35, ~U[2026-09-05 17:00:03Z]] 12:33:13.926 [debug] QUERY OK source="sources" db=0.1ms idle=70.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 12:33:13.926 [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] 12:33:13.927 [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 [3848595] 12:33:13.927 [debug] Current batch of media processed. Will check again in 1000ms 12:33:14.927 [debug] Current batch of media processed. Will check again in 1000ms 12:33:15.928 [debug] Current batch of media processed. Will check again in 1000ms 12:33:16.929 [debug] Current batch of media processed. Will check again in 1000ms 12:33:17.930 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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" => 339, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", "id" => "Jg3Hal7vPUo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Jg3Hal7vPUo", "playlist_index" => 9, "timestamp" => 1788025041, "title" => "'yes' - output a string repeatedly - Video Man Pages", "upload_date" => "20260829"} 12:33:17.931 [debug] QUERY OK source="sources" db=0.2ms idle=474.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:17.931 [debug] QUERY OK source="sources" db=0.1ms idle=475.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 12:33:17.935 [debug] QUERY OK source="media_items" db=3.7ms idle=475.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-29 17:37:21Z], 35] 12:33:17.941 [debug] QUERY OK source="media_items" db=5.2ms idle=479.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 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'yes' - output a string repeatedly - Video Man Pages", "26205ee8-9286-4cd2-8b4f-02f34b21bd8e", "Jg3Hal7vPUo", 339, false, "https://www.youtube.com/watch?v=Jg3Hal7vPUo", 9, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", false, false, false, 35, [], 97, ~U[2026-08-29 17:37:21Z], ~U[2026-10-26 17:33:17Z], ~U[2026-10-26 17:33:17Z], "The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'yes' - output a string repeatedly - Video Man Pages", "Jg3Hal7vPUo", 339, false, "https://www.youtube.com/watch?v=Jg3Hal7vPUo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", false, 35, ~U[2026-08-29 17:37:21Z]] 12:33:17.942 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [35] 12:33:17.942 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:33:17.943 [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 [3793401] 12:33:17.943 [debug] Current batch of media processed. Will check again in 1000ms 12:33:18.943 [debug] Current batch of media processed. Will check again in 1000ms 12:33:19.944 [debug] Current batch of media processed. Will check again in 1000ms 12:33:20.945 [debug] Current batch of media processed. Will check again in 1000ms 12:33:21.946 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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" => 139, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", "id" => "-8zN6rhA4hU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-8zN6rhA4hU", "playlist_index" => 10, "timestamp" => 1788025027, "title" => "'basename' - strip directory from filenames - Video Man Pages", "upload_date" => "20260829"} 12:33:21.947 [debug] QUERY OK source="sources" db=0.1ms idle=489.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:21.947 [debug] QUERY OK source="sources" db=0.1ms idle=490.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:21.950 [debug] QUERY OK source="media_items" db=2.8ms idle=490.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-29 17:37:07Z], 35] 12:33:21.952 [debug] QUERY OK source="media_items" db=1.8ms idle=493.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" ["The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'basename' - strip directory from filenames - Video Man Pages", "c2ff7394-da17-4427-aa45-b6a739c0b97c", "-8zN6rhA4hU", 139, false, "https://www.youtube.com/watch?v=-8zN6rhA4hU", 10, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", false, false, false, 35, [], 97, ~U[2026-08-29 17:37:07Z], ~U[2026-10-26 17:33:21Z], ~U[2026-10-26 17:33:21Z], "The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'basename' - strip directory from filenames - Video Man Pages", "-8zN6rhA4hU", 139, false, "https://www.youtube.com/watch?v=-8zN6rhA4hU", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", false, 35, ~U[2026-08-29 17:37:07Z]] 12:33:21.953 [debug] QUERY OK source="sources" db=0.2ms idle=85.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:33:21.953 [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] 12:33:21.953 [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 [3793403] 12:33:21.953 [debug] Current batch of media processed. Will check again in 1000ms 12:33:22.954 [debug] Current batch of media processed. Will check again in 1000ms 12:33:23.955 [debug] Current batch of media processed. Will check again in 1000ms 12:33:24.956 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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" => 541, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", "id" => "A6XI_0DWQOw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=A6XI_0DWQOw", "playlist_index" => 11, "timestamp" => 1785589225, "title" => "The Age Of Beginner Friendly Distros Is Over", "upload_date" => "20260801"} 12:33:24.957 [debug] QUERY OK source="sources" db=0.2ms idle=1500.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:24.957 [debug] QUERY OK source="sources" db=0.1ms idle=1500.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:24.960 [debug] QUERY OK source="media_items" db=2.8ms idle=1501.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-01 13:00:25Z], 35] 12:33:24.962 [debug] QUERY OK source="media_items" db=1.5ms idle=1090.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" ["Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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!", "The Age Of Beginner Friendly Distros Is Over", "0b1327ff-ec3a-43f9-aa48-901566adc317", "A6XI_0DWQOw", 541, false, "https://www.youtube.com/watch?v=A6XI_0DWQOw", 11, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", false, false, false, 35, [], 98, ~U[2026-08-01 13:00:25Z], ~U[2026-10-26 17:33:24Z], ~U[2026-10-26 17:33:24Z], "Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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!", "The Age Of Beginner Friendly Distros Is Over", "A6XI_0DWQOw", 541, false, "https://www.youtube.com/watch?v=A6XI_0DWQOw", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", false, 35, ~U[2026-08-01 13:00:25Z]] 12:33:24.963 [debug] QUERY OK source="sources" db=0.1ms idle=91.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 12:33:24.963 [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] 12:33:24.963 [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 [3571449] 12:33:24.963 [debug] Current batch of media processed. Will check again in 1000ms 12:33:25.964 [debug] Current batch of media processed. Will check again in 1000ms 12:33:26.953 [info] GET /sources/32 12:33:26.953 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "32"} Pipelines: [:browser] 12:33:26.953 [debug] QUERY OK source="sources" db=0.2ms idle=496.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 12:33:26.953 [debug] QUERY OK source="media_profiles" db=0.1ms idle=497.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] 12:33:26.959 [debug] QUERY OK source="tasks" db=5.7ms idle=497.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [32, "executing", "available", "scheduled", "retryable"] 12:33:26.960 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=503.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" = ?) [540433] 12:33:26.960 [debug] QUERY OK source="settings" db=0.1ms idle=86.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:33:26.960 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:33:26.961 [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 [] 12:33:26.961 [debug] QUERY OK source="sources" db=0.0ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 12:33:26.963 [debug] QUERY OK source="media_items" db=1.1ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [32] 12:33:26.964 [debug] QUERY OK source="media_items" db=1.3ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [32, 10, 0] 12:33:26.965 [debug] QUERY OK source="sources" db=0.1ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 12:33:26.965 [debug] Current batch of media processed. Will check again in 1000ms 12:33:26.965 [debug] QUERY OK source="media_items" db=0.1ms idle=4.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [32] 12:33:26.966 [debug] QUERY OK source="media_items" db=0.9ms 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 ? [32, 10, 0] 12:33:26.967 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 12:33:26.967 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [32] 12:33:26.970 [debug] QUERY OK source="media_items" db=2.0ms idle=2.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [32, 10, 0] 12:33:26.971 [info] Sent 200 in 18ms 12:33:27.083 [info] GET /sources/32/media/3528403 12:33:27.083 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3528403", "source_id" => "32"} Pipelines: [:browser] 12:33:27.083 [debug] QUERY OK source="media_items" db=0.2ms idle=117.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3528403] 12:33:27.084 [debug] QUERY OK source="tasks" db=0.1ms idle=117.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" [3528403] 12:33:27.084 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 12:33:27.084 [debug] QUERY OK source="settings" db=0.2ms idle=116.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:33:27.085 [debug] QUERY OK source="settings" db=0.1ms idle=114.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:33:27.085 [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 [] 12:33:27.086 [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] 12:33:27.087 [info] Sent 200 in 4ms 12:33:27.219 [info] GET /sources/37/media/3731985 12:33:27.219 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3731985", "source_id" => "37"} Pipelines: [:browser] 12:33:27.219 [debug] QUERY OK source="media_items" db=0.1ms idle=134.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" = ?) [3731985] 12:33:27.220 [debug] QUERY OK source="sources" db=0.1ms idle=134.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:33:27.305 [debug] QUERY OK source="tasks" db=85.7ms idle=134.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" [3731985] 12:33:27.423 [debug] QUERY OK source="oban_jobs" db=115.8ms idle=222.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [482465, 492132, 492141, 492157, 492165, 492180, 492200, 492216, 492232, 492328, 492452, 492559, 492671, 492778, 492884, 492996, 493104, 493208, 493315, 493422, 493532, 493682, 493749, 493810, 493823, 493837, 493849, 493867, 493922, 494030, 494139, 494244, 494364, 494472, 494577, 494683, 494792, 494896, 495002, 495113, 495217, 495326, 495441, 495552, 495663, 495826, 495924, 495965, 495977, 495985, ...] 12:33:27.433 [debug] QUERY OK source="settings" db=0.1ms idle=347.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:33:27.433 [debug] QUERY OK source="settings" db=0.0ms idle=214.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:33:27.433 [debug] QUERY OK source="settings" db=0.0ms idle=213.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:33:27.434 [debug] QUERY OK source="media_profiles" db=0.1ms idle=128.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] 12:33:27.470 [info] Sent 200 in 251ms 12:33:27.966 [debug] Current batch of media processed. Will check again in 1000ms 12:33:28.658 [info] {"source":"oban","duration":7803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:28.967 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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" => 534, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", "id" => "-IQ75MwPS0M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-IQ75MwPS0M", "playlist_index" => 12, "timestamp" => 1784898025, "title" => "The Mousam Weather App For Linux", "upload_date" => "20260724"} 12:33:28.968 [debug] QUERY OK source="sources" db=0.3ms idle=511.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:28.969 [debug] QUERY OK source="sources" db=0.2ms idle=512.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:28.972 [debug] QUERY OK source="media_items" db=3.6ms idle=512.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 13:00:25Z], 35] 12:33:28.975 [debug] QUERY OK source="media_items" db=1.9ms idle=314.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" ["Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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!", "The Mousam Weather App For Linux", "c1f227c6-8b33-44b7-9f65-d4e711b66ec9", "-IQ75MwPS0M", 534, false, "https://www.youtube.com/watch?v=-IQ75MwPS0M", 12, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", false, false, false, 35, [], 98, ~U[2026-07-24 13:00:25Z], ~U[2026-10-26 17:33:28Z], ~U[2026-10-26 17:33:28Z], "Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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!", "The Mousam Weather App For Linux", "-IQ75MwPS0M", 534, false, "https://www.youtube.com/watch?v=-IQ75MwPS0M", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", false, 35, ~U[2026-07-24 13:00:25Z]] 12:33:28.975 [debug] QUERY OK source="sources" db=0.3ms idle=99.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:33:28.976 [debug] QUERY OK source="media_profiles" db=0.3ms idle=7.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:33:28.976 [debug] QUERY OK source="media_items" db=0.4ms 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 [3508688] 12:33:28.977 [debug] Current batch of media processed. Will check again in 1000ms 12:33:29.977 [debug] Current batch of media processed. Will check again in 1000ms 12:33:30.978 [debug] Current batch of media processed. Will check again in 1000ms 12:33:31.979 [debug] Current batch of media processed. Will check again in 1000ms 12:33:32.980 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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" => 678, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", "id" => "cp8si5zO2m0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cp8si5zO2m0", "playlist_index" => 13, "timestamp" => 1784293232, "title" => "I'm Not A Web Dev...So Claude Designed A Website For Me!", "upload_date" => "20260717"} 12:33:32.981 [debug] QUERY OK source="sources" db=0.1ms idle=524.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:32.981 [debug] QUERY OK source="sources" db=0.1ms idle=524.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:32.984 [debug] QUERY OK source="media_items" db=2.7ms idle=524.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-17 13:00:32Z], 35] 12:33:32.986 [debug] QUERY OK source="media_items" db=2.0ms idle=527.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" ["So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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 Not A Web Dev...So Claude Designed A Website For Me!", "8120176e-17d5-484e-865d-fc148f74004c", "cp8si5zO2m0", 678, false, "https://www.youtube.com/watch?v=cp8si5zO2m0", 13, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", false, false, false, 35, [], 98, ~U[2026-07-17 13:00:32Z], ~U[2026-10-26 17:33:32Z], ~U[2026-10-26 17:33:32Z], "So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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 Not A Web Dev...So Claude Designed A Website For Me!", "cp8si5zO2m0", 678, false, "https://www.youtube.com/watch?v=cp8si5zO2m0", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", false, 35, ~U[2026-07-17 13:00:32Z]] 12:33:32.987 [debug] QUERY OK source="sources" db=0.8ms idle=105.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:33:32.988 [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] 12:33:32.988 [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 [3453444] 12:33:32.988 [debug] Current batch of media processed. Will check again in 1000ms 12:33:33.989 [debug] Current batch of media processed. Will check again in 1000ms 12:33:34.990 [debug] Current batch of media processed. Will check again in 1000ms 12:33:35.991 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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" => 607, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", "id" => "cLqiG_ZfDyU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cLqiG_ZfDyU", "playlist_index" => 14, "timestamp" => 1783688428, "title" => "Shelly Is A GUI Package Manager For Arch Linux", "upload_date" => "20260710"} 12:33:35.992 [debug] QUERY OK source="sources" db=0.3ms idle=1535.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:35.993 [debug] QUERY OK source="sources" db=0.2ms idle=1536.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:35.996 [debug] QUERY OK source="media_items" db=3.4ms idle=1536.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-10 13:00:28Z], 35] 12:33:35.998 [debug] QUERY OK source="media_items" db=1.1ms idle=1112.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" ["Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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!", "Shelly Is A GUI Package Manager For Arch Linux", "3aa5560f-0440-4831-a8bd-dd2f34aa5e52", "cLqiG_ZfDyU", 607, false, "https://www.youtube.com/watch?v=cLqiG_ZfDyU", 14, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", false, false, false, 35, [], 98, ~U[2026-07-10 13:00:28Z], ~U[2026-10-26 17:33:35Z], ~U[2026-10-26 17:33:35Z], "Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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!", "Shelly Is A GUI Package Manager For Arch Linux", "cLqiG_ZfDyU", 607, false, "https://www.youtube.com/watch?v=cLqiG_ZfDyU", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", false, 35, ~U[2026-07-10 13:00:28Z]] 12:33:35.998 [debug] QUERY OK source="sources" db=0.2ms idle=113.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:33:35.999 [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] 12:33:35.999 [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 [3398403] 12:33:35.999 [debug] Current batch of media processed. Will check again in 1000ms 12:33:37.000 [debug] Current batch of media processed. Will check again in 1000ms 12:33:38.001 [debug] Current batch of media processed. Will check again in 1000ms 12:33:39.002 [debug] Current batch of media processed. Will check again in 1000ms 12:33:40.003 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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" => 776, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", "id" => "bBS4do3RbQY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bBS4do3RbQY", "playlist_index" => 15, "timestamp" => 1783097125, "title" => "Windows Has These Apps...Linux Doesn't!", "upload_date" => "20260703"} 12:33:40.004 [debug] QUERY OK source="sources" db=0.2ms idle=547.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:40.004 [debug] QUERY OK source="sources" db=0.1ms idle=547.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:40.008 [debug] QUERY OK source="media_items" db=3.6ms idle=548.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 16:45:25Z], 35] 12:33:40.026 [debug] QUERY OK source="media_items" db=17.6ms idle=552.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 use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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!", "Windows Has These Apps...Linux Doesn't!", "45ea9d27-daaa-426b-b297-54c399b97bbd", "bBS4do3RbQY", 776, false, "https://www.youtube.com/watch?v=bBS4do3RbQY", 15, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", false, false, false, 35, [], 98, ~U[2026-07-03 16:45:25Z], ~U[2026-10-26 17:33:40Z], ~U[2026-10-26 17:33:40Z], "If you use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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!", "Windows Has These Apps...Linux Doesn't!", "bBS4do3RbQY", 776, false, "https://www.youtube.com/watch?v=bBS4do3RbQY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", false, 35, ~U[2026-07-03 16:45:25Z]] 12:33:40.027 [debug] QUERY OK source="sources" db=0.2ms idle=136.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:33:40.027 [debug] QUERY OK source="media_profiles" db=0.1ms idle=23.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:33:40.028 [debug] QUERY OK source="media_items" db=0.2ms idle=23.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 [3344542] 12:33:40.028 [debug] Current batch of media processed. Will check again in 1000ms 12:33:41.028 [debug] Current batch of media processed. Will check again in 1000ms 12:33:42.029 [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" => 16, "timestamp" => 1782478816, "title" => "RefreshOS Combines Debian Stability With KDE Beauty", "upload_date" => "20260626"} 12:33:42.030 [debug] QUERY OK source="sources" db=0.3ms idle=573.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:42.031 [debug] QUERY OK source="sources" db=0.1ms idle=574.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:42.034 [debug] QUERY OK source="media_items" db=3.3ms idle=574.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-26 13:00:16Z], 35] 12:33:42.045 [debug] QUERY OK source="media_items" db=10.7ms idle=578.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" ["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", "241feb39-3649-4647-ae47-5c2dbe126e01", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", 16, "/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-10-26 17:33:42Z], ~U[2026-10-26 17:33:42Z], "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]] 12:33:42.046 [debug] QUERY OK source="sources" db=0.1ms idle=152.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:33:42.046 [debug] QUERY OK source="media_profiles" db=0.1ms idle=15.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] 12:33:42.046 [debug] QUERY OK source="media_items" db=0.1ms idle=15.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] 12:33:42.046 [debug] Current batch of media processed. Will check again in 1000ms 12:33:43.047 [debug] Current batch of media processed. Will check again in 1000ms 12:33:44.048 [debug] Current batch of media processed. Will check again in 1000ms 12:33:45.049 [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" => 17, "timestamp" => 1782046833, "title" => "Install Programs From Any Linux Distro With BoxBuddy", "upload_date" => "20260621"} 12:33:45.050 [debug] QUERY OK source="sources" db=0.1ms idle=1593.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:45.050 [debug] QUERY OK source="sources" db=0.1ms idle=1593.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:45.053 [debug] QUERY OK source="media_items" db=2.7ms idle=1594.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] 12:33:45.055 [debug] QUERY OK source="media_items" db=1.6ms idle=1156.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", "71a21063-da80-423a-9435-b5c27d3b0fbf", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", 17, "/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-10-26 17:33:45Z], ~U[2026-10-26 17:33:45Z], "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]] 12:33:45.056 [debug] QUERY OK source="sources" db=0.1ms idle=157.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:33:45.056 [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] 12:33:45.056 [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 [3249148] 12:33:45.056 [debug] Current batch of media processed. Will check again in 1000ms 12:33:46.057 [debug] Current batch of media processed. Will check again in 1000ms 12:33:47.058 [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" => 18, "timestamp" => 1781614828, "title" => "Is It Time To Leave Arch Linux?", "upload_date" => "20260616"} 12:33:47.059 [debug] QUERY OK source="sources" db=0.2ms idle=602.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:47.059 [debug] QUERY OK source="sources" db=0.1ms idle=602.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:47.063 [debug] QUERY OK source="media_items" db=3.4ms idle=603.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 13:00:28Z], 35] 12:33:47.065 [debug] QUERY OK source="media_items" db=1.6ms idle=607.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?", "9bee6ee8-d3e6-414b-9cc7-0ba41485119a", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", 18, "/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-10-26 17:33:47Z], ~U[2026-10-26 17:33:47Z], "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]] 12:33:47.065 [debug] QUERY OK source="sources" db=0.2ms idle=164.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 12:33:47.066 [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] 12:33:47.066 [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 [3209684] 12:33:47.067 [debug] Current batch of media processed. Will check again in 1000ms 12:33:48.067 [debug] Current batch of media processed. Will check again in 1000ms 12:33:49.068 [debug] Current batch of media processed. Will check again in 1000ms 12:33:50.069 [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" => 19, "timestamp" => 1781281820, "title" => "Major Malware Incident Hits Arch AUR!", "upload_date" => "20260612"} 12:33:50.070 [debug] QUERY OK source="sources" db=0.2ms idle=1613.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:50.070 [debug] QUERY OK source="sources" db=0.1ms idle=1613.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 12:33:50.074 [debug] QUERY OK source="media_items" db=3.4ms idle=1614.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] 12:33:50.076 [debug] QUERY OK source="media_items" db=1.7ms idle=1169.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" ["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!", "71800ab7-c84d-4281-b1c2-ef9ed7be00d1", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", 19, "/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-10-26 17:33:50Z], ~U[2026-10-26 17:33:50Z], "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]] 12:33:50.077 [debug] QUERY OK source="sources" db=0.2ms idle=170.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:33:50.077 [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] 12:33:50.077 [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 [3178989] 12:33:50.077 [debug] Current batch of media processed. Will check again in 1000ms 12:33:51.078 [debug] Current batch of media processed. Will check again in 1000ms 12:33:52.055 [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/72/9e/729e6f447a99e6ce1b13523df5d42e307577de4a7178fd7a3a1ac37e2fe1cf92.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e9/bb/e9bb26881297b780c0620e932c04799c324c3a3767f961810fa5814f4fd21b4a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 12:33:52.055 [debug] Gracefully stopping file follower 12:33:52.056 [debug] QUERY OK source="sources" db=0.2ms idle=599.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 12:33:52.056 [debug] QUERY OK source="sources" db=0.1ms idle=599.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:33:52.059 [debug] QUERY OK source="media_items" db=2.7ms idle=599.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 20:15:16Z], 35] 12:33:52.060 [debug] QUERY OK source="media_items" db=0.9ms idle=602.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" ["ProtoArc recently sent me their new EM06 trackball mouse to try out. This mouse is a 55mm center ball mouse with 7 programmable buttons. Configuration is simple and done through the web browser. Works on Windows, Mac and Linux! \n\nREFERENCED:\n► https://www.protoarc.com/products/em06-customizable-finger-trackball-mouse\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!", "The Brilliantly Designed ProtoArc EM06 Trackball Mouse", "3dbcf469-e72f-4d73-ba63-7c148a10a978", "EUbWgy5MZOw", 1314, false, "https://www.youtube.com/watch?v=EUbWgy5MZOw", 1, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e102400_The Brilliantly Designed ProtoArc EM06 Trackball Mouse.mp4", false, false, false, 35, [], 98, ~U[2026-10-24 20:15:16Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "ProtoArc recently sent me their new EM06 trackball mouse to try out. This mouse is a 55mm center ball mouse with 7 programmable buttons. Configuration is simple and done through the web browser. Works on Windows, Mac and Linux! \n\nREFERENCED:\n► https://www.protoarc.com/products/em06-customizable-finger-trackball-mouse\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!", "The Brilliantly Designed ProtoArc EM06 Trackball Mouse", "EUbWgy5MZOw", 1314, false, "https://www.youtube.com/watch?v=EUbWgy5MZOw", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e102400_The Brilliantly Designed ProtoArc EM06 Trackball Mouse.mp4", false, 35, ~U[2026-10-24 20:15:16Z]] 12:33:52.060 [debug] QUERY OK source="sources" db=0.1ms idle=150.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 12:33:52.063 [debug] QUERY OK source="media_items" db=2.6ms 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-10-18 15:00:06Z], 35] 12:33:52.064 [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" ["FunOS is a GNU/Linux distribution based on Ubuntu LTS. It uses the JWM window manager, comes without Snap, and includes the latest Ubuntu HWE kernel. Perfect for users who want a fast and minimal Linux experience without sacrificing stability.\n\nREFERENCED:\n► https://funos.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!", "An Installation and First Look at FunOS", "f27fd798-5112-4220-9d63-9916c439b8a2", "sUUKNgzF-pQ", 1267, false, "https://www.youtube.com/watch?v=sUUKNgzF-pQ", 2, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101800_An Installation and First Look at FunOS.mp4", false, false, false, 35, [], 98, ~U[2026-10-18 15:00:06Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "FunOS is a GNU/Linux distribution based on Ubuntu LTS. It uses the JWM window manager, comes without Snap, and includes the latest Ubuntu HWE kernel. Perfect for users who want a fast and minimal Linux experience without sacrificing stability.\n\nREFERENCED:\n► https://funos.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!", "An Installation and First Look at FunOS", "sUUKNgzF-pQ", 1267, false, "https://www.youtube.com/watch?v=sUUKNgzF-pQ", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101800_An Installation and First Look at FunOS.mp4", false, 35, ~U[2026-10-18 15:00:06Z]] 12:33:52.065 [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" = ?) [35] 12:33:52.068 [debug] QUERY OK source="media_items" db=2.6ms 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-10-11 18:45:31Z], 35] 12:33:52.069 [debug] QUERY OK source="media_items" db=0.9ms idle=7.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" ["Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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. Bots Have Taken Over Our Lives", "a27bbe9f-6826-4dd2-a026-8d07d46fd5f8", "i16PHb8EagE", 621, false, "https://www.youtube.com/watch?v=i16PHb8EagE", 3, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", false, false, false, 35, [], 98, ~U[2026-10-11 18:45:31Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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. Bots Have Taken Over Our Lives", "i16PHb8EagE", 621, false, "https://www.youtube.com/watch?v=i16PHb8EagE", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", false, 35, ~U[2026-10-11 18:45:31Z]] 12:33:52.069 [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] 12:33:52.072 [debug] QUERY OK source="media_items" db=2.6ms 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-10-04 13:00:26Z], 35] 12:33:52.073 [debug] QUERY OK source="media_items" db=0.7ms 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" ["I think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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 Distros Should Stop Worrying About Their Desktops", "b7b57a0b-b7d9-40d4-8df5-e35044306118", "q7kF6Jb2a8w", 475, false, "https://www.youtube.com/watch?v=q7kF6Jb2a8w", 4, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", false, false, false, 35, [], 98, ~U[2026-10-04 13:00:26Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "I think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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 Distros Should Stop Worrying About Their Desktops", "q7kF6Jb2a8w", 475, false, "https://www.youtube.com/watch?v=q7kF6Jb2a8w", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", false, 35, ~U[2026-10-04 13:00:26Z]] 12:33:52.074 [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] 12:33:52.077 [debug] QUERY OK source="media_items" db=2.6ms 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-09-26 15:00:25Z], 35] 12:33:52.078 [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" ["On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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!", "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "d2e8a693-393e-436e-9d55-5687f89d091f", "czYbW2UKRdE", 1699, false, "https://www.youtube.com/watch?v=czYbW2UKRdE", 5, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", false, false, false, 35, [], 98, ~U[2026-09-26 15:00:25Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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!", "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "czYbW2UKRdE", 1699, false, "https://www.youtube.com/watch?v=czYbW2UKRdE", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", false, 35, ~U[2026-09-26 15:00:25Z]] 12:33:52.078 [debug] QUERY OK source="sources" db=0.4ms 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] 12:33:52.081 [debug] QUERY OK source="media_items" db=2.6ms 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-09-19 16:00:06Z], 35] 12:33:52.082 [debug] QUERY OK source="media_items" db=0.7ms idle=7.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" ["Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "Vidman - A Program To View Video Man Pages", "09d0a682-9088-4cd0-9dea-539715c09440", "3RfulXEEEN4", 1093, false, "https://www.youtube.com/watch?v=3RfulXEEEN4", 6, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", false, false, false, 35, [], 98, ~U[2026-09-19 16:00:06Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "Vidman - A Program To View Video Man Pages", "3RfulXEEEN4", 1093, false, "https://www.youtube.com/watch?v=3RfulXEEEN4", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", false, 35, ~U[2026-09-19 16:00:06Z]] 12:33:52.083 [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] 12:33:52.085 [debug] QUERY OK source="media_items" db=2.5ms 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-09-12 14:15:19Z], 35] 12:33:52.087 [debug] QUERY OK source="media_items" db=0.9ms 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" ["The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "'nl' - number lines of files - Video Man Pages", "6c137866-052e-4144-ba90-5949b58a0aa8", "2SyiQrsPyu8", 367, false, "https://www.youtube.com/watch?v=2SyiQrsPyu8", 7, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", false, false, false, 35, [], 98, ~U[2026-09-12 14:15:19Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "'nl' - number lines of files - Video Man Pages", "2SyiQrsPyu8", 367, false, "https://www.youtube.com/watch?v=2SyiQrsPyu8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", false, 35, ~U[2026-09-12 14:15:19Z]] 12:33:52.087 [debug] QUERY OK source="sources" db=0.4ms 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] 12:33:52.090 [debug] QUERY OK source="media_items" db=2.5ms 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-09-05 17:00:03Z], 35] 12:33:52.091 [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" ["Politics infects everything...including Linux. Don't let this happen!\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!", "Don't Let Linux Become Like This!", "9c1af397-cee5-4582-8af0-25d4aecc0308", "DvI93IJvNSQ", 127, false, "https://www.youtube.com/watch?v=DvI93IJvNSQ", 8, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", false, false, false, 35, [], 98, ~U[2026-09-05 17:00:03Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "Politics infects everything...including Linux. Don't let this happen!\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!", "Don't Let Linux Become Like This!", "DvI93IJvNSQ", 127, false, "https://www.youtube.com/watch?v=DvI93IJvNSQ", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", false, 35, ~U[2026-09-05 17:00:03Z]] 12:33:52.091 [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" = ?) [35] 12:33:52.094 [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-08-29 17:37:21Z], 35] 12:33:52.095 [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" ["The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'yes' - output a string repeatedly - Video Man Pages", "0b08ed17-ef69-49ed-87c6-68822d07a803", "Jg3Hal7vPUo", 339, false, "https://www.youtube.com/watch?v=Jg3Hal7vPUo", 9, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", false, false, false, 35, [], 97, ~U[2026-08-29 17:37:21Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'yes' - output a string repeatedly - Video Man Pages", "Jg3Hal7vPUo", 339, false, "https://www.youtube.com/watch?v=Jg3Hal7vPUo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", false, 35, ~U[2026-08-29 17:37:21Z]] 12:33:52.096 [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] 12:33:52.098 [debug] QUERY OK source="media_items" db=2.4ms 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-08-29 17:37:07Z], 35] 12:33:52.099 [debug] QUERY OK source="media_items" db=0.7ms 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" ["The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'basename' - strip directory from filenames - Video Man Pages", "434b35e1-cb4a-4b8e-8a5e-8ca9b6b7582b", "-8zN6rhA4hU", 139, false, "https://www.youtube.com/watch?v=-8zN6rhA4hU", 10, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", false, false, false, 35, [], 97, ~U[2026-08-29 17:37:07Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'basename' - strip directory from filenames - Video Man Pages", "-8zN6rhA4hU", 139, false, "https://www.youtube.com/watch?v=-8zN6rhA4hU", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", false, 35, ~U[2026-08-29 17:37:07Z]] 12:33:52.100 [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] 12:33:52.103 [debug] QUERY OK source="media_items" db=2.7ms 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-08-01 13:00:25Z], 35] 12:33:52.104 [debug] QUERY OK source="media_items" db=0.8ms 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" ["Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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!", "The Age Of Beginner Friendly Distros Is Over", "6a8051c5-4d22-46dc-bede-242816fbf6d1", "A6XI_0DWQOw", 541, false, "https://www.youtube.com/watch?v=A6XI_0DWQOw", 11, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", false, false, false, 35, [], 98, ~U[2026-08-01 13:00:25Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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!", "The Age Of Beginner Friendly Distros Is Over", "A6XI_0DWQOw", 541, false, "https://www.youtube.com/watch?v=A6XI_0DWQOw", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", false, 35, ~U[2026-08-01 13:00:25Z]] 12:33:52.105 [debug] QUERY OK source="sources" db=0.4ms 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] 12:33:52.107 [debug] QUERY OK source="media_items" db=2.5ms idle=5.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 13:00:25Z], 35] 12:33:52.108 [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" ["Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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!", "The Mousam Weather App For Linux", "69c358ec-a1cb-4cc0-97b3-59b0e276d847", "-IQ75MwPS0M", 534, false, "https://www.youtube.com/watch?v=-IQ75MwPS0M", 12, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", false, false, false, 35, [], 98, ~U[2026-07-24 13:00:25Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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!", "The Mousam Weather App For Linux", "-IQ75MwPS0M", 534, false, "https://www.youtube.com/watch?v=-IQ75MwPS0M", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", false, 35, ~U[2026-07-24 13:00:25Z]] 12:33:52.109 [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" = ?) [35] 12:33:52.111 [debug] QUERY OK source="media_items" db=2.4ms 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-07-17 13:00:32Z], 35] 12:33:52.115 [debug] QUERY OK source="media_items" db=2.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" ["So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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 Not A Web Dev...So Claude Designed A Website For Me!", "52abedd0-8e9d-49be-94cf-95ccec61a119", "cp8si5zO2m0", 678, false, "https://www.youtube.com/watch?v=cp8si5zO2m0", 13, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", false, false, false, 35, [], 98, ~U[2026-07-17 13:00:32Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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 Not A Web Dev...So Claude Designed A Website For Me!", "cp8si5zO2m0", 678, false, "https://www.youtube.com/watch?v=cp8si5zO2m0", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", false, 35, ~U[2026-07-17 13:00:32Z]] 12:33:52.115 [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" = ?) [35] 12:33:52.118 [debug] QUERY OK source="media_items" db=2.5ms 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-07-10 13:00:28Z], 35] 12:33:52.119 [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" ["Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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!", "Shelly Is A GUI Package Manager For Arch Linux", "c9decadb-eeba-4db1-9b4d-c5e7e4f5258c", "cLqiG_ZfDyU", 607, false, "https://www.youtube.com/watch?v=cLqiG_ZfDyU", 14, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", false, false, false, 35, [], 98, ~U[2026-07-10 13:00:28Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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!", "Shelly Is A GUI Package Manager For Arch Linux", "cLqiG_ZfDyU", 607, false, "https://www.youtube.com/watch?v=cLqiG_ZfDyU", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", false, 35, ~U[2026-07-10 13:00:28Z]] 12:33:52.120 [debug] QUERY OK source="sources" db=0.3ms idle=7.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 12:33:52.122 [debug] QUERY OK source="media_items" db=2.5ms 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-07-03 16:45:25Z], 35] 12:33:52.123 [debug] QUERY OK source="media_items" db=0.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" ["If you use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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!", "Windows Has These Apps...Linux Doesn't!", "79538c7d-f43d-46ce-9bb4-5cabeb8cb85a", "bBS4do3RbQY", 776, false, "https://www.youtube.com/watch?v=bBS4do3RbQY", 15, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", false, false, false, 35, [], 98, ~U[2026-07-03 16:45:25Z], ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "If you use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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!", "Windows Has These Apps...Linux Doesn't!", "bBS4do3RbQY", 776, false, "https://www.youtube.com/watch?v=bBS4do3RbQY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", false, 35, ~U[2026-07-03 16:45:25Z]] 12:33:52.124 [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] 12:33:52.126 [debug] QUERY OK source="media_items" db=2.5ms 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-26 13:00:16Z], 35] 12:33:52.128 [debug] QUERY OK source="media_items" db=0.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" ["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", "3887f983-297c-40e5-b473-f346630137ce", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", 16, "/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-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "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]] 12:33:52.128 [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] 12:33:52.131 [debug] QUERY OK source="media_items" db=2.4ms 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-21 13:00:33Z], 35] 12:33:52.132 [debug] QUERY OK source="media_items" db=0.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" ["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", "1aa239d1-42c3-47d7-87d1-8ac0c4dd654b", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", 17, "/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-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "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]] 12:33:52.132 [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] 12:33:52.135 [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-16 13:00:28Z], 35] 12:33:52.136 [debug] QUERY OK source="media_items" db=1.3ms 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" ["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?", "9d2885b4-57a6-4ccc-b99e-e368c58a13dd", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", 18, "/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-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "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]] 12:33:52.137 [debug] QUERY OK source="sources" db=0.4ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 12:33:52.140 [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] 12:33:52.141 [debug] QUERY OK source="media_items" db=0.8ms idle=7.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!", "852eb284-7f2c-4bfd-8118-c1d054e43dc9", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", 19, "/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-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "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]] 12:33:52.141 [debug] QUERY OK source="sources" db=0.3ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 12:33:52.144 [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-06-08 13:00:33Z], 35] 12:33:52.146 [debug] QUERY OK source="media_items" db=1.5ms 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" ["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!)", "28d55cb9-9196-42fb-84f9-a802319aaad4", "LuvxUKBXkqA", 826, false, "https://www.youtube.com/watch?v=LuvxUKBXkqA", 20, "/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-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], "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]] 12:33:52.146 [debug] QUERY OK source="sources" db=0.3ms idle=6.2ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z], 35] 12:33:52.149 [debug] QUERY OK source="media_items" db=2.6ms idle=5.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [35] 12:33:52.152 [debug] QUERY OK source="media_items" db=2.8ms idle=7.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")))) [35] 12:33:52.153 [debug] QUERY OK source="media_items" db=0.4ms idle=8.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 12:33:52.154 [debug] QUERY OK source="tasks" db=0.6ms idle=4.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541432, 35, ~U[2026-10-26 17:33:52Z], ~U[2026-10-26 17:33:52Z]] 12:33:52.155 [info] {"args":{"id":35},"id":541326,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":69330341,"event":"job:stop","queue_time":87514,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:33:58.667 [info] {"source":"oban","duration":9128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.188 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:34:28.678 [info] {"source":"oban","duration":9450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 12:34:58.688 [info] {"source":"oban","duration":9414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.189 [info] {"source":"oban","duration":145,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:35:06.967 [info] GET /sources/32/media/3700777 12:35:06.967 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3700777", "source_id" => "32"} Pipelines: [:browser] 12:35:06.967 [info] GET /sources/37/media/382021 12:35:06.967 [info] GET /sources/43/media/3680013 12:35:06.967 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "382021", "source_id" => "37"} Pipelines: [:browser] 12:35:06.967 [info] GET /sources/32/media/1227400/edit 12:35:06.967 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3680013", "source_id" => "43"} Pipelines: [:browser] 12:35:06.967 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227400", "source_id" => "32"} Pipelines: [:browser] 12:35:06.967 [debug] QUERY OK source="media_items" db=0.2ms idle=1510.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" = ?) [3700777] 12:35:06.968 [debug] QUERY OK source="media_items" db=0.5ms idle=1510.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" = ?) [382021] 12:35:06.968 [debug] QUERY OK source="media_items" db=0.6ms idle=966.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" = ?) [1227400] 12:35:06.968 [debug] QUERY OK source="tasks" db=0.4ms idle=511.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" [3700777] 12:35:06.968 [debug] QUERY OK source="media_items" db=0.7ms idle=1510.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" = ?) [3680013] 12:35:06.968 [debug] QUERY OK source="tasks" db=0.3ms 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" [382021] 12:35:06.968 [debug] QUERY OK source="settings" db=0.2ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:06.968 [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" = ?) [32] 12:35:06.969 [debug] QUERY OK source="tasks" db=0.1ms idle=0.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3680013] 12:35:06.969 [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" = ?) [37] 12:35:06.969 [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 [] 12:35:06.969 [debug] QUERY OK source="settings" db=0.2ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:06.969 [debug] QUERY OK source="sources" db=0.4ms 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] 12:35:06.969 [debug] QUERY OK source="oban_jobs" db=0.2ms 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" IN (?,?,?)) [484596, 505730, 527834] 12:35:06.969 [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 [] 12:35:06.969 [debug] QUERY OK source="settings" db=0.2ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:06.969 [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 [] 12:35:06.970 [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 [] 12:35:06.970 [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 [] 12:35:06.970 [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 [] 12:35:06.970 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:35:06.970 [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 [] 12:35:06.970 [info] Sent 200 in 3ms 12:35:06.971 [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] 12:35:06.971 [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 [] 12:35:06.971 [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] 12:35:06.971 [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] 12:35:06.971 [info] Sent 200 in 4ms 12:35:06.972 [info] Sent 200 in 4ms 12:35:06.973 [info] Sent 200 in 5ms 12:35:07.028 [info] GET /sources/43/media/3735512 12:35:07.028 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3735512", "source_id" => "43"} Pipelines: [:browser] 12:35:07.029 [debug] QUERY OK source="media_items" db=0.2ms idle=57.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" = ?) [3735512] 12:35:07.029 [debug] QUERY OK source="tasks" db=0.0ms idle=58.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" [3735512] 12:35:07.029 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 12:35:07.030 [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 [] 12:35:07.030 [debug] QUERY OK source="settings" db=0.0ms idle=27.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.030 [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 [] 12:35:07.031 [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] 12:35:07.032 [info] Sent 200 in 3ms 12:35:07.164 [info] GET /sources/43/media/3774627 12:35:07.165 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3774627", "source_id" => "43"} Pipelines: [:browser] 12:35:07.165 [debug] QUERY OK source="media_items" db=0.2ms idle=135.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" = ?) [3774627] 12:35:07.165 [debug] QUERY OK source="tasks" db=0.1ms idle=135.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" [3774627] 12:35:07.165 [debug] QUERY OK source="sources" db=0.2ms idle=135.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 12:35:07.166 [debug] QUERY OK source="settings" db=0.0ms idle=135.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.166 [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 [] 12:35:07.166 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.167 [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] 12:35:07.168 [info] Sent 200 in 3ms 12:35:07.298 [info] GET /sources/32/media/1227394 12:35:07.298 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227394", "source_id" => "32"} Pipelines: [:browser] 12:35:07.298 [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" = ?) [1227394] 12:35:07.299 [debug] QUERY OK source="sources" db=0.2ms idle=132.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:35:07.299 [debug] QUERY OK source="tasks" db=0.8ms idle=132.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" [1227394] 12:35:07.299 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=132.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 (?,?,?)) [483814, 501203, 523729] 12:35:07.300 [debug] QUERY OK source="settings" db=0.0ms idle=133.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.300 [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 [] 12:35:07.300 [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 [] 12:35:07.301 [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] 12:35:07.302 [info] Sent 200 in 4ms 12:35:07.427 [info] GET /sources/35/media/3571449 12:35:07.427 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3571449", "source_id" => "35"} Pipelines: [:browser] 12:35:07.427 [debug] QUERY OK source="media_items" db=0.2ms idle=127.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" = ?) [3571449] 12:35:07.428 [debug] QUERY OK source="tasks" db=0.2ms idle=127.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" [3571449] 12:35:07.428 [debug] QUERY OK source="sources" db=0.2ms idle=127.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:35:07.428 [debug] QUERY OK source="settings" db=0.0ms idle=127.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.428 [debug] QUERY OK source="settings" db=0.0ms 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 [] 12:35:07.429 [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 [] 12:35:07.429 [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] 12:35:07.430 [info] Sent 200 in 3ms 12:35:07.532 [info] GET /sources/43/media/3735512/edit 12:35:07.533 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3735512", "source_id" => "43"} Pipelines: [:browser] 12:35:07.533 [debug] QUERY OK source="media_items" db=0.1ms idle=105.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" = ?) [3735512] 12:35:07.533 [debug] QUERY OK source="settings" db=0.0ms idle=105.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.534 [debug] QUERY OK source="settings" db=0.0ms idle=105.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.534 [debug] QUERY OK source="settings" db=0.1ms idle=105.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.535 [info] Sent 200 in 2ms 12:35:07.646 [info] GET /sources/43/media/3774627/edit 12:35:07.646 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3774627", "source_id" => "43"} Pipelines: [:browser] 12:35:07.647 [debug] QUERY OK source="media_items" db=0.1ms idle=217.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" = ?) [3774627] 12:35:07.647 [debug] QUERY OK source="settings" db=0.0ms idle=114.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.648 [debug] QUERY OK source="settings" db=0.0ms idle=114.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.648 [debug] QUERY OK source="settings" db=0.0ms idle=114.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.649 [info] Sent 200 in 2ms 12:35:07.774 [info] GET /sources/32/media/1227394/edit 12:35:07.774 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227394", "source_id" => "32"} Pipelines: [:browser] 12:35:07.774 [debug] QUERY OK source="media_items" db=0.1ms idle=239.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" = ?) [1227394] 12:35:07.775 [debug] QUERY OK source="settings" db=0.0ms idle=127.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.775 [debug] QUERY OK source="settings" db=0.0ms idle=127.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.775 [debug] QUERY OK source="settings" db=0.0ms idle=127.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:07.776 [info] Sent 200 in 2ms 12:35:07.887 [info] GET /sources/32/media/3700777/edit 12:35:07.887 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3700777", "source_id" => "32"} Pipelines: [:browser] 12:35:07.888 [debug] QUERY OK source="media_items" db=0.1ms idle=239.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" = ?) [3700777] 12:35:07.888 [debug] QUERY OK source="settings" db=0.0ms 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 [] 12:35:07.888 [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 [] 12:35:07.888 [debug] QUERY OK source="settings" db=0.0ms 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 [] 12:35:07.889 [info] Sent 200 in 2ms 12:35:08.002 [info] GET /sources/new 12:35:08.002 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "35"} Pipelines: [:browser] 12:35:08.003 [debug] QUERY OK source="sources" db=0.1ms idle=115.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:35:08.003 [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" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 12:35:08.003 [debug] QUERY OK source="settings" db=0.1ms idle=115.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.004 [debug] QUERY OK source="settings" db=0.0ms idle=115.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.004 [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 [] 12:35:08.004 [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 [] 12:35:08.005 [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 [] 12:35:08.010 [info] Sent 200 in 7ms 12:35:08.102 [info] GET /sources/new 12:35:08.102 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "28"} Pipelines: [:browser] 12:35:08.103 [debug] QUERY OK source="sources" db=0.2ms idle=99.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [28] 12:35:08.103 [debug] QUERY OK source="media_profiles" db=0.1ms idle=99.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" [] 12:35:08.103 [debug] QUERY OK source="settings" db=0.0ms idle=99.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.104 [debug] QUERY OK source="settings" db=0.0ms idle=99.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.104 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:35:08.105 [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 [] 12:35:08.105 [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 [] 12:35:08.107 [info] Sent 200 in 4ms 12:35:08.204 [info] GET /sources/new 12:35:08.204 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "32"} Pipelines: [:browser] 12:35:08.204 [debug] QUERY OK source="sources" db=0.1ms idle=100.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:35:08.205 [debug] QUERY OK source="media_profiles" db=0.1ms idle=100.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" [] 12:35:08.205 [debug] QUERY OK source="settings" db=0.0ms idle=100.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.205 [debug] QUERY OK source="settings" db=0.0ms idle=100.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.205 [debug] QUERY OK source="settings" db=0.0ms idle=100.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.205 [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 [] 12:35:08.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 [] 12:35:08.208 [info] Sent 200 in 3ms 12:35:08.305 [info] GET /sources/32/media/1227395 12:35:08.305 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227395", "source_id" => "32"} Pipelines: [:browser] 12:35:08.306 [debug] QUERY OK source="media_items" db=0.2ms idle=100.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] 12:35:08.306 [debug] QUERY OK source="tasks" db=0.1ms idle=100.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" [1227395] 12:35:08.306 [debug] QUERY OK source="sources" db=0.1ms idle=100.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:35:08.306 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=100.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 (?,?,?)) [483815, 501204, 523730] 12:35:08.307 [debug] QUERY OK source="settings" db=0.0ms idle=100.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.307 [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 [] 12:35:08.307 [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 [] 12:35:08.308 [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] 12:35:08.309 [info] Sent 200 in 4ms 12:35:08.405 [info] GET /sources/32/media/1227395/edit 12:35:08.405 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227395", "source_id" => "32"} Pipelines: [:browser] 12:35:08.406 [debug] QUERY OK source="media_items" db=0.1ms idle=99.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" = ?) [1227395] 12:35:08.406 [debug] QUERY OK source="settings" db=0.1ms idle=99.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.406 [debug] QUERY OK source="settings" db=0.0ms idle=99.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.407 [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 [] 12:35:08.407 [info] Sent 200 in 2ms 12:35:08.519 [info] GET /sources/new 12:35:08.519 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "37"} Pipelines: [:browser] 12:35:08.519 [debug] QUERY OK source="sources" db=0.1ms idle=211.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:35:08.519 [debug] QUERY OK source="media_profiles" db=0.1ms idle=113.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" [] 12:35:08.520 [debug] QUERY OK source="settings" db=0.0ms 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 [] 12:35:08.520 [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 [] 12:35:08.520 [debug] QUERY OK source="settings" db=0.0ms idle=113.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.521 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.521 [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 [] 12:35:08.522 [info] Sent 200 in 3ms 12:35:08.615 [info] GET /sources/new 12:35:08.615 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "30"} Pipelines: [:browser] 12:35:08.616 [debug] QUERY OK source="sources" db=0.1ms idle=95.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:35:08.616 [debug] QUERY OK source="media_profiles" db=0.1ms idle=96.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" [] 12:35:08.616 [debug] QUERY OK source="settings" db=0.0ms idle=96.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.617 [debug] QUERY OK source="settings" db=0.0ms idle=95.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.617 [debug] QUERY OK source="settings" db=0.0ms idle=95.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.617 [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 [] 12:35:08.617 [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 [] 12:35:08.619 [info] Sent 200 in 3ms 12:35:08.707 [info] GET /sources/new 12:35:08.707 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "43"} Pipelines: [:browser] 12:35:08.707 [debug] QUERY OK source="sources" db=0.2ms idle=90.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 12:35:08.708 [debug] QUERY OK source="media_profiles" db=0.1ms idle=90.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" [] 12:35:08.708 [debug] QUERY OK source="settings" db=0.1ms idle=91.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.708 [debug] QUERY OK source="settings" db=0.0ms idle=90.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.708 [debug] QUERY OK source="settings" db=0.0ms idle=90.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.709 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.709 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.710 [info] Sent 200 in 3ms 12:35:08.855 [info] GET /sources/35/media/3508688 12:35:08.855 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3508688", "source_id" => "35"} Pipelines: [:browser] 12:35:08.855 [debug] QUERY OK source="media_items" db=0.2ms idle=147.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" = ?) [3508688] 12:35:08.856 [debug] QUERY OK source="tasks" db=0.0ms idle=147.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" [3508688] 12:35:08.856 [debug] QUERY OK source="sources" db=0.1ms idle=147.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:35:08.856 [debug] QUERY OK source="settings" db=0.0ms idle=147.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.856 [debug] QUERY OK source="settings" db=0.0ms idle=147.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.857 [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 [] 12:35:08.857 [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] 12:35:08.859 [info] Sent 200 in 3ms 12:35:08.893 [info] GET /sources/35/media/3508688/edit 12:35:08.893 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3508688", "source_id" => "35"} Pipelines: [:browser] 12:35:08.894 [debug] QUERY OK source="media_items" db=0.1ms idle=37.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" = ?) [3508688] 12:35:08.894 [debug] QUERY OK source="settings" db=0.1ms idle=37.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.894 [debug] QUERY OK source="settings" db=0.0ms idle=38.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.895 [debug] QUERY OK source="settings" db=0.0ms idle=37.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:08.895 [info] Sent 200 in 2ms 12:35:09.195 [info] GET /sources/35/media/3344542/edit 12:35:09.195 [info] GET /sources/35/media/3453444 12:35:09.195 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3344542", "source_id" => "35"} Pipelines: [:browser] 12:35:09.195 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3453444", "source_id" => "35"} Pipelines: [:browser] 12:35:09.196 [debug] QUERY OK source="media_items" db=0.4ms idle=301.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" = ?) [3453444] 12:35:09.196 [debug] QUERY OK source="media_items" db=0.4ms 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" = ?) [3344542] 12:35:09.196 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:35:09.196 [debug] QUERY OK source="tasks" db=0.2ms idle=301.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" [3453444] 12:35:09.197 [debug] QUERY OK source="sources" db=0.4ms idle=192.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:35:09.197 [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 [] 12:35:09.197 [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 [] 12:35:09.197 [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 [] 12:35:09.197 [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 [] 12:35:09.197 [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 [] 12:35:09.198 [info] Sent 200 in 2ms 12:35:09.198 [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] 12:35:09.199 [info] Sent 200 in 3ms 12:35:09.275 [info] GET /sources/37/media/382029/edit 12:35:09.275 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "382029", "source_id" => "37"} Pipelines: [:browser] 12:35:09.276 [debug] QUERY OK source="media_items" db=0.1ms idle=78.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" = ?) [382029] 12:35:09.276 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:35:09.276 [debug] QUERY OK source="settings" db=0.0ms idle=78.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:09.276 [debug] QUERY OK source="settings" db=0.0ms idle=78.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:09.277 [info] Sent 200 in 2ms 12:35:09.376 [info] GET /sources/28/media/346778/edit 12:35:09.376 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "346778", "source_id" => "28"} Pipelines: [:browser] 12:35:09.376 [debug] QUERY OK source="media_items" db=0.2ms idle=177.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" = ?) [346778] 12:35:09.376 [debug] QUERY OK source="settings" db=0.1ms idle=100.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:09.377 [debug] QUERY OK source="settings" db=0.0ms idle=100.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:09.377 [debug] QUERY OK source="settings" db=0.0ms idle=100.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:09.378 [info] Sent 200 in 2ms 12:35:09.470 [info] GET /sources/35/media/3344542/edit 12:35:09.470 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3344542", "source_id" => "35"} Pipelines: [:browser] 12:35:09.471 [debug] QUERY OK source="media_items" db=0.1ms idle=194.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" = ?) [3344542] 12:35:09.471 [debug] QUERY OK source="settings" db=0.1ms idle=94.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:09.471 [debug] QUERY OK source="settings" db=0.1ms idle=94.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:09.472 [debug] QUERY OK source="settings" db=0.0ms idle=94.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:09.472 [info] Sent 200 in 2ms 12:35:09.563 [info] GET /sources/32/media/1227401 12:35:09.563 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227401", "source_id" => "32"} Pipelines: [:browser] 12:35:09.564 [debug] QUERY OK source="media_items" db=0.1ms idle=186.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] 12:35:09.564 [debug] QUERY OK source="tasks" db=0.1ms idle=93.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" [1227401] 12:35:09.564 [debug] QUERY OK source="sources" db=0.2ms idle=92.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:35:09.564 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=93.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?,?)) [483817, 501206, 523732] 12:35:09.565 [debug] QUERY OK source="settings" db=0.0ms idle=93.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:09.565 [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 [] 12:35:09.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 [] 12:35:09.566 [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] 12:35:09.567 [info] Sent 200 in 3ms 12:35:15.016 [info] {"args":{"id":3751148},"id":541412,"meta":{},"system_time":1793036115016315346,"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"]} 12:35:15.017 [debug] QUERY OK source="media_items" db=0.5ms idle=1559.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" = ?) [3751148] 12:35:15.017 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:35:15.018 [debug] QUERY OK source="sources" db=0.6ms idle=1560.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:35:15.018 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1008.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] 12:35:15.018 [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 [3751148] 12:35:15.020 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3751148] 12:35:15.021 [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] 12:35:15.021 [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 [] 12:35:15.021 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:15.021 [debug] Running yt-dlp command for action: get_downloadable_status 12:35:15.022 [debug] QUERY OK source="settings" db=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:15.022 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:15.023 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:35:15.023 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kWAlTuJgMTI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b3/96/b396c7fa5a7008e210c542ff529680f6f4070637e72193a862d3e8efcd4689b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:35:17.021 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kWAlTuJgMTI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b3/96/b396c7fa5a7008e210c542ff529680f6f4070637e72193a862d3e8efcd4689b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] kWAlTuJgMTI: Join this channel to get access to members-only content like this video, and other exclusive perks. 12:35:17.021 [error] yt-dlp download error for media item #3751148: "ERROR: [youtube] kWAlTuJgMTI: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 12:35:17.022 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3751148},"id":541412,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2005676,"event":"job:exception","queue_time":19719,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:35:28.698 [info] {"source":"oban","duration":9576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:58.708 [info] {"source":"oban","duration":9851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.190 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:36:28.719 [info] {"source":"oban","duration":9425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:58.727 [info] {"source":"oban","duration":7676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 12:37:00.192 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:37:28.735 [info] {"source":"oban","duration":7639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 12:37:58.745 [info] {"source":"oban","duration":9633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.192 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:38:02.213 [info] {"args":{"id":2514218},"id":541304,"meta":{},"system_time":1793036282212995626,"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"]} 12:38:02.213 [debug] QUERY OK source="media_items" db=0.2ms idle=1756.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" = ?) [2514218] 12:38:02.213 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:38:02.214 [debug] QUERY OK source="sources" db=0.7ms idle=1009.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:38:02.215 [debug] QUERY OK source="media_profiles" db=0.1ms idle=758.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:38:02.215 [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 [2514218] 12:38:02.216 [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" = ?) [2514218] 12:38:02.216 [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] 12:38:02.217 [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 [] 12:38:02.217 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:02.217 [debug] Running yt-dlp command for action: get_downloadable_status 12:38:02.218 [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 [] 12:38:02.218 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:02.219 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:02.219 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1khrQ-3j2bM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/98/e9/98e97f9aeae669f326f30be8b4fc5f0d6e1d0b4d3eace604d8d10da183d92eee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:38:05.629 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1khrQ-3j2bM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/98/e9/98e97f9aeae669f326f30be8b4fc5f0d6e1d0b4d3eace604d8d10da183d92eee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 1khrQ-3j2bM: Join this channel to get access to members-only content like this video, and other exclusive perks. 12:38:05.629 [error] yt-dlp download error for media item #2514218: "ERROR: [youtube] 1khrQ-3j2bM: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 12:38:05.630 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2514218},"id":541304,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":3416747,"event":"job:exception","queue_time":460573,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:38:28.757 [info] {"source":"oban","duration":11301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 12:38:58.765 [info] {"source":"oban","duration":8384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 12:39:00.193 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:39:28.773 [info] {"source":"oban","duration":7276,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:58.783 [info] {"source":"oban","duration":9282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.194 [info] {"source":"oban","duration":146,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:40:24.376 [info] {"args":{"id":3342641},"id":541305,"meta":{},"system_time":1793036424376834640,"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"]} 12:40:24.377 [debug] QUERY OK source="media_items" db=0.7ms idle=1008.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" = ?) [3342641] 12:40:24.378 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:40:24.378 [debug] QUERY OK source="sources" db=0.1ms idle=921.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:40:24.379 [debug] QUERY OK source="media_profiles" db=0.6ms idle=921.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] 12:40:24.379 [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 [3342641] 12:40:24.380 [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" = ?) [3342641] 12:40:24.380 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:40:24.380 [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 [] 12:40:24.381 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:24.381 [debug] Running yt-dlp command for action: get_downloadable_status 12:40:24.382 [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 [] 12:40:24.382 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:24.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 [] 12:40:24.382 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=v3g6wi0TzcE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/e4/2ae45c1697b4fe9a6db6a1b586ead4ad831029c68292faab84132e273cdbd52e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:40:26.506 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=v3g6wi0TzcE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/e4/2ae45c1697b4fe9a6db6a1b586ead4ad831029c68292faab84132e273cdbd52e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] v3g6wi0TzcE: Join this channel to get access to members-only content like this video, and other exclusive perks. 12:40:26.506 [error] yt-dlp download error for media item #3342641: "ERROR: [youtube] v3g6wi0TzcE: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 12:40:26.507 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3342641},"id":541305,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2129959,"event":"job:exception","queue_time":405944,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:40:28.791 [info] {"source":"oban","duration":7360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:58.802 [info] {"source":"oban","duration":9811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.195 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:41:28.813 [info] {"source":"oban","duration":9804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:58.823 [info] {"source":"oban","duration":9515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.196 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:42:28.829 [info] {"source":"oban","duration":6231,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:43.543 [info] {"args":{"id":52},"id":541430,"meta":{},"system_time":1793036563543695951,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:43.544 [debug] QUERY OK source="sources" db=0.7ms idle=1087.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:42:43.545 [debug] QUERY OK source="settings" db=0.5ms idle=1088.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:43.546 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1010.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] 12:42:43.546 [debug] QUERY OK source="settings" db=0.1ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:43.546 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 12:42:43.942 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 12:42:43.942 [debug] QUERY OK source="media_items" db=0.4ms idle=398.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 12:42:43.944 [debug] QUERY OK source="media_items" db=0.9ms idle=398.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] 12:42:43.947 [debug] QUERY OK source="tasks" db=0.1ms idle=400.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541433, 1301334, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.950 [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" [541434, 1301335, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.953 [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" [541435, 1301347, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.954 [info] {"args":{"id":1301334},"id":541433,"meta":{},"system_time":1793036563954620552,"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"]} 12:42:43.954 [info] {"args":{"id":1301335},"id":541434,"meta":{},"system_time":1793036563954700557,"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"]} 12:42:43.955 [debug] QUERY OK source="media_items" db=0.6ms 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] 12:42:43.955 [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] 12:42:43.955 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:43.955 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:43.956 [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] 12:42:43.956 [debug] QUERY OK source="sources" db=0.6ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 12:42:43.956 [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] 12:42:43.957 [debug] QUERY OK source="media_profiles" db=0.3ms queue=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] 12:42:43.957 [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 [1301334] 12:42:43.957 [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 [1301335] 12:42:43.958 [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" [541436, 1301392, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.959 [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" = ?) [1301334] 12:42:43.960 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 12:42:43.960 [debug] QUERY OK source="settings" db=0.2ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:43.960 [debug] QUERY OK source="media_metadata" db=0.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" = ?) [1301335] 12:42:43.961 [debug] QUERY OK source="settings" db=0.2ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:43.962 [debug] QUERY OK source="media_profiles" db=1.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] 12:42:43.962 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:43.962 [debug] QUERY OK source="settings" db=0.2ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:43.963 [debug] QUERY OK source="tasks" db=0.3ms idle=1.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541437, 1301393, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.963 [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 [] 12:42:43.964 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:43.964 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:43.965 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:43.965 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:43.965 [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/b0/da/b0dafbf74e5dda305ced4befb0907e800b9d7a6caf51927821729924438c2311.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:43.965 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:43.965 [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 [] 12:42:43.966 [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 [] 12:42:43.966 [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/29/86/2986073af6205db41ff037d0cd9f66e042357b26dbf39caed2646b62ecdb0c0b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:43.967 [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" [541438, 1301394, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.970 [debug] QUERY OK source="tasks" db=0.3ms idle=3.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541439, 1301395, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.974 [debug] QUERY OK source="tasks" db=0.2ms idle=3.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541440, 1301397, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.977 [debug] QUERY OK source="tasks" db=0.3ms idle=3.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541441, 1301398, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.980 [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" [541442, 1301399, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.983 [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" [541443, 1301400, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.986 [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" [541444, 2720968, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.989 [debug] QUERY OK source="tasks" db=0.3ms idle=3.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541445, 3440530, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.993 [debug] QUERY OK source="tasks" db=0.3ms idle=3.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541446, 3675707, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.994 [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" [541447, 52, ~U[2026-10-26 17:42:43Z], ~U[2026-10-26 17:42:43Z]] 12:42:43.994 [info] {"args":{"id":52},"id":541430,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":450528,"event":"job:stop","queue_time":464136,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:45.818 [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/29/86/2986073af6205db41ff037d0cd9f66e042357b26dbf39caed2646b62ecdb0c0b.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. 12:42:45.818 [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" 12:42:45.819 [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" 12:42:45.819 [info] {"args":{"id":1301335},"id":541434,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1864363,"event":"job:stop","queue_time":952501,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:45.826 [info] {"args":{"id":1301347},"id":541435,"meta":{},"system_time":1793036565826353507,"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"]} 12:42:45.826 [debug] QUERY OK source="media_items" db=0.2ms idle=369.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] 12:42:45.827 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:45.827 [debug] QUERY OK source="sources" db=0.2ms idle=370.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:42:45.827 [debug] QUERY OK source="media_profiles" db=0.1ms idle=287.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] 12:42:45.827 [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 [1301347] 12:42:45.829 [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" = ?) [1301347] 12:42:45.829 [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] 12:42:45.829 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:45.829 [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 [] 12:42:45.830 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:45.831 [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 [] 12:42:45.831 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:45.831 [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 [] 12:42:45.831 [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/a6/06/a606871113f993612664bde838077007f2b9c4dba5f51562b9bb9648000f61ef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:46.009 [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/b0/da/b0dafbf74e5dda305ced4befb0907e800b9d7a6caf51927821729924438c2311.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. 12:42:46.009 [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" 12:42:46.010 [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" 12:42:46.010 [info] {"args":{"id":1301334},"id":541433,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2055490,"event":"job:stop","queue_time":952501,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:46.017 [info] {"args":{"id":1301392},"id":541436,"meta":{},"system_time":1793036566017081673,"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"]} 12:42:46.017 [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" = ?) [1301392] 12:42:46.017 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:46.017 [debug] QUERY OK source="sources" db=0.2ms idle=186.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 12:42:46.018 [debug] QUERY OK source="media_profiles" db=0.1ms idle=186.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:42:46.018 [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 [1301392] 12:42:46.024 [debug] QUERY OK source="media_metadata" db=0.0ms idle=7.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] 12:42:46.024 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 12:42:46.024 [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 [] 12:42:46.024 [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 [] 12:42:46.025 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:46.025 [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 [] 12:42:46.025 [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 [] 12:42:46.026 [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 [] 12:42:46.026 [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/3a/c1/3ac1a78efb52758d1820941d39919fa7173ed332c689da3b299fae87e52ae7cf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:47.702 [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/a6/06/a606871113f993612664bde838077007f2b9c4dba5f51562b9bb9648000f61ef.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. 12:42:47.702 [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" 12:42:47.702 [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" 12:42:47.703 [info] {"args":{"id":1301347},"id":541435,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1876488,"event":"job:stop","queue_time":2825567,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:47.709 [info] {"args":{"id":1301393},"id":541437,"meta":{},"system_time":1793036567709534796,"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"]} 12:42:47.709 [debug] QUERY OK source="media_items" db=0.1ms idle=252.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] 12:42:47.709 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:47.710 [debug] QUERY OK source="sources" db=0.1ms idle=253.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 12:42:47.710 [debug] QUERY OK source="media_profiles" db=0.1ms idle=167.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] 12:42:47.710 [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] 12:42:47.712 [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] 12:42:47.712 [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] 12:42:47.713 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:47.713 [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 [] 12:42:47.713 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:47.714 [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 [] 12:42:47.714 [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 [] 12:42:47.714 [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 [] 12:42:47.714 [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/72/47/7247e3f2e77fe5388953e3734ceb3e4f5d82b6d34d6cb0ecf4720fdf168b137d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:47.815 [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/3a/c1/3ac1a78efb52758d1820941d39919fa7173ed332c689da3b299fae87e52ae7cf.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. 12:42:47.816 [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" 12:42:47.816 [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" 12:42:47.816 [info] {"args":{"id":1301392},"id":541436,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1799046,"event":"job:stop","queue_time":3016558,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:47.823 [info] {"args":{"id":1301394},"id":541438,"meta":{},"system_time":1793036567823119030,"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"]} 12:42:47.823 [debug] QUERY OK source="media_items" db=0.1ms idle=109.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" = ?) [1301394] 12:42:47.823 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:47.823 [debug] QUERY OK source="sources" db=0.1ms idle=109.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 12:42:47.824 [debug] QUERY OK source="media_profiles" db=0.1ms idle=109.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] 12:42:47.824 [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] 12:42:47.825 [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] 12:42:47.825 [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] 12:42:47.826 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:47.826 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:47.826 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:47.827 [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 [] 12:42:47.827 [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 [] 12:42:47.827 [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 [] 12:42:47.827 [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/1a/47/1a4716d726a003c04382f4e453495a6afa79794d6f5a598e72a534297da02849.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:49.830 [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/72/47/7247e3f2e77fe5388953e3734ceb3e4f5d82b6d34d6cb0ecf4720fdf168b137d.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. 12:42:49.831 [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" 12:42:49.831 [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" 12:42:49.831 [info] {"args":{"id":1301393},"id":541437,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2121781,"event":"job:stop","queue_time":4708595,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:49.838 [info] {"args":{"id":1301395},"id":541439,"meta":{},"system_time":1793036569838160868,"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"]} 12:42:49.838 [debug] QUERY OK source="media_items" db=0.1ms idle=381.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301395] 12:42:49.838 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:49.838 [debug] QUERY OK source="sources" db=0.1ms idle=382.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:42:49.839 [debug] QUERY OK source="media_profiles" db=0.1ms idle=294.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:42:49.839 [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 [1301395] 12:42:49.840 [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] 12:42:49.840 [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] 12:42:49.841 [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 [] 12:42:49.841 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:49.841 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:49.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 [] 12:42:49.842 [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 [] 12:42:49.842 [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 [] 12:42:49.842 [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/be/dd/beddbc0f76253f9f550a5ccbbb2eb391e411005e93e624a8c84767fa6d5297aa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:50.106 [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/1a/47/1a4716d726a003c04382f4e453495a6afa79794d6f5a598e72a534297da02849.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. 12:42:50.106 [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" 12:42:50.106 [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" 12:42:50.107 [info] {"args":{"id":1301394},"id":541438,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2283629,"event":"job:stop","queue_time":4822558,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:50.113 [info] {"args":{"id":1301397},"id":541440,"meta":{},"system_time":1793036570113091716,"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"]} 12:42:50.113 [debug] QUERY OK source="media_items" db=0.1ms idle=270.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] 12:42:50.113 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:50.113 [debug] QUERY OK source="sources" db=0.1ms idle=271.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:42:50.114 [debug] QUERY OK source="media_profiles" db=0.1ms idle=271.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:42:50.114 [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 [1301397] 12:42:50.115 [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] 12:42:50.116 [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] 12:42:50.116 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:50.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 [] 12:42:50.116 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:50.117 [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 [] 12:42:50.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 [] 12:42:50.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 [] 12:42:50.117 [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/b5/3d/b53d3ab2bec8c2c822e42c81b28576bd954eaac946c452adb96a39f018df5bda.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:51.779 [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/be/dd/beddbc0f76253f9f550a5ccbbb2eb391e411005e93e624a8c84767fa6d5297aa.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. 12:42:51.779 [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" 12:42:51.779 [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" 12:42:51.779 [info] {"args":{"id":1301395},"id":541439,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1941334,"event":"job:stop","queue_time":6837529,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:51.786 [info] {"args":{"id":1301398},"id":541441,"meta":{},"system_time":1793036571786243363,"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"]} 12:42:51.786 [debug] QUERY OK source="media_items" db=0.1ms idle=329.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] 12:42:51.786 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:51.787 [debug] QUERY OK source="sources" db=0.1ms idle=330.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:42:51.787 [debug] QUERY OK source="media_profiles" db=0.1ms idle=239.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:42:51.787 [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 [1301398] 12:42:51.789 [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] 12:42:51.789 [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] 12:42:51.789 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:51.790 [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 [] 12:42:51.790 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:51.791 [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 [] 12:42:51.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 [] 12:42:51.791 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:51.791 [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/44/ea/44ea87caebe6f108ee2bfafacaf4b19eac9222a4c9d2856644baa93d98e8a5bc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:51.962 [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/b5/3d/b53d3ab2bec8c2c822e42c81b28576bd954eaac946c452adb96a39f018df5bda.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. 12:42:51.962 [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" 12:42:51.962 [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" 12:42:51.962 [info] {"args":{"id":1301397},"id":541440,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1849246,"event":"job:stop","queue_time":7112514,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:51.969 [info] {"args":{"id":1301399},"id":541442,"meta":{},"system_time":1793036571969149664,"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"]} 12:42:51.969 [debug] QUERY OK source="media_items" db=0.2ms idle=177.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] 12:42:51.969 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:51.970 [debug] QUERY OK source="sources" db=0.2ms idle=178.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:42:51.970 [debug] QUERY OK source="media_profiles" db=0.1ms idle=178.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:42:51.970 [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] 12:42:51.974 [debug] QUERY OK source="media_metadata" db=0.0ms idle=5.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" = ?) [1301399] 12:42:51.975 [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] 12:42:51.975 [debug] QUERY OK source="settings" db=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:51.975 [debug] QUERY OK source="settings" db=0.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:51.975 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:51.977 [debug] QUERY OK source="settings" db=0.0ms 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 [] 12:42:51.977 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:51.977 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:51.977 [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/9d/b7/9db722f81d360821de1ba8a64f4c83307bb644e5f48863eb542a25d98c1afd81.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:53.807 [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/44/ea/44ea87caebe6f108ee2bfafacaf4b19eac9222a4c9d2856644baa93d98e8a5bc.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. 12:42:53.807 [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" 12:42:53.807 [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" 12:42:53.807 [info] {"args":{"id":1301398},"id":541441,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2021271,"event":"job:stop","queue_time":8785572,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:53.814 [info] {"args":{"id":1301400},"id":541443,"meta":{},"system_time":1793036573814443429,"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"]} 12:42:53.814 [debug] QUERY OK source="media_items" db=0.2ms idle=357.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" = ?) [1301400] 12:42:53.815 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:53.815 [debug] QUERY OK source="sources" db=0.2ms idle=358.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:42:53.815 [debug] QUERY OK source="media_profiles" db=0.1ms idle=264.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] 12:42:53.816 [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] 12:42:53.818 [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" = ?) [1301400] 12:42:53.818 [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] 12:42:53.818 [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 [] 12:42:53.818 [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 [] 12:42:53.819 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:53.820 [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 [] 12:42:53.820 [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 [] 12:42:53.820 [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 [] 12:42:53.820 [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/5c/d3/5cd3ad8be92791659719cb9225663c07193b33bf1c4616326bc5397376d6ed4d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:53.872 [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/9d/b7/9db722f81d360821de1ba8a64f4c83307bb644e5f48863eb542a25d98c1afd81.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. 12:42:53.872 [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" 12:42:53.872 [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" 12:42:53.872 [info] {"args":{"id":1301399},"id":541442,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1903286,"event":"job:stop","queue_time":8968562,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:53.879 [info] {"args":{"id":2720968},"id":541444,"meta":{},"system_time":1793036573879256913,"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"]} 12:42:53.879 [debug] QUERY OK source="media_items" db=0.2ms idle=59.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" = ?) [2720968] 12:42:53.879 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:53.880 [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" = ?) [52] 12:42:53.880 [debug] QUERY OK source="media_profiles" db=0.1ms idle=59.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] 12:42:53.881 [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] 12:42:53.882 [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" = ?) [2720968] 12:42:53.882 [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] 12:42:53.883 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:53.883 [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 [] 12:42:53.883 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:53.885 [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 [] 12:42:53.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 [] 12:42:53.885 [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 [] 12:42:53.885 [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/9e/719ee74a14da71804127529f8da7d03540719dae3c86cfabbac6117a36dd69b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:55.746 [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/5c/d3/5cd3ad8be92791659719cb9225663c07193b33bf1c4616326bc5397376d6ed4d.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. 12:42:55.746 [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" 12:42:55.746 [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" 12:42:55.747 [info] {"args":{"id":1301400},"id":541443,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1932220,"event":"job:stop","queue_time":10813606,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:55.753 [info] {"args":{"id":3440530},"id":541445,"meta":{},"system_time":1793036575753285442,"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"]} 12:42:55.753 [debug] QUERY OK source="media_items" db=0.1ms idle=296.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3440530] 12:42:55.753 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:55.754 [debug] QUERY OK source="sources" db=0.1ms idle=297.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:42:55.754 [debug] QUERY OK source="media_profiles" db=0.1ms idle=200.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:42:55.754 [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 [3440530] 12:42:55.758 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [3440530] 12:42:55.758 [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] 12:42:55.758 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:55.758 [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 [] 12:42:55.759 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:55.762 [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 [] 12:42:55.762 [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 [] 12:42:55.763 [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 [] 12:42:55.763 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1c/46/1c46a80005e2427ce802d90cdfdee8bcd4c56759c856a3aa85213248a1417113.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:55.822 [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/9e/719ee74a14da71804127529f8da7d03540719dae3c86cfabbac6117a36dd69b7.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. 12:42:55.822 [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" 12:42:55.822 [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" 12:42:55.822 [info] {"args":{"id":2720968},"id":541444,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1943101,"event":"job:stop","queue_time":10878558,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:55.829 [info] {"args":{"id":3675707},"id":541446,"meta":{},"system_time":1793036575829049311,"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"]} 12:42:55.829 [debug] QUERY OK source="media_items" db=0.1ms idle=66.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" = ?) [3675707] 12:42:55.829 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:42:55.829 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [52] 12:42:55.830 [debug] QUERY OK source="media_profiles" db=0.1ms idle=66.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] 12:42:55.830 [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 [3675707] 12:42:55.831 [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" = ?) [3675707] 12:42:55.831 [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] 12:42:55.831 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:55.831 [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 [] 12:42:55.831 [debug] Running yt-dlp command for action: get_downloadable_status 12:42:55.836 [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 [] 12:42:55.836 [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 [] 12:42:55.836 [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 [] 12:42:55.836 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/7d/3a7d1cfa0a757c27943bc89578b30059fb3ef091a4f890da363d26d6175c088b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:42:56.561 [info] {"args":{"id":51},"id":541431,"meta":{},"system_time":1793036576561284954,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:56.561 [debug] QUERY OK source="sources" db=0.1ms idle=725.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:42:56.562 [debug] QUERY OK source="settings" db=0.1ms idle=725.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:56.562 [debug] QUERY OK source="media_profiles" db=0.1ms idle=725.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:42:56.562 [debug] QUERY OK source="settings" db=0.1ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:56.562 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 12:42:56.784 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 12:42:56.785 [debug] QUERY OK source="media_items" db=0.5ms idle=223.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, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 12:42:56.786 [debug] QUERY OK source="media_items" db=0.4ms idle=223.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] 12:42:56.787 [debug] QUERY OK source="tasks" db=0.1ms idle=224.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541448, 51, ~U[2026-10-26 17:42:56Z], ~U[2026-10-26 17:42:56Z]] 12:42:56.787 [info] {"args":{"id":51},"id":541431,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":226203,"event":"job:stop","queue_time":656079,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:57.651 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/7d/3a7d1cfa0a757c27943bc89578b30059fb3ef091a4f890da363d26d6175c088b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 12:42:57.651 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 12:42:57.651 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 12:42:57.652 [info] {"args":{"id":3675707},"id":541446,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1822915,"event":"job:stop","queue_time":12828510,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:57.734 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1c/46/1c46a80005e2427ce802d90cdfdee8bcd4c56759c856a3aa85213248a1417113.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 12:42:57.734 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 12:42:57.734 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 12:42:57.735 [info] {"args":{"id":3440530},"id":541445,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1981666,"event":"job:stop","queue_time":12752574,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:42:58.839 [info] {"source":"oban","duration":9283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.197 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:43:28.849 [info] {"source":"oban","duration":9358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:58.856 [info] {"source":"oban","duration":5799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.198 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:44:12.647 [info] {"args":{"id":3751148},"id":541412,"meta":{},"system_time":1793036652647663834,"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"]} 12:44:12.648 [debug] QUERY OK source="media_items" db=0.7ms idle=1191.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" = ?) [3751148] 12:44:12.648 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:44:12.649 [debug] QUERY OK source="sources" db=0.7ms idle=1009.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 12:44:12.650 [debug] QUERY OK source="media_profiles" db=0.2ms idle=193.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:44:12.650 [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 [3751148] 12:44:12.651 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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" = ?) [3751148] 12:44:12.652 [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] 12:44:12.652 [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 [] 12:44:12.652 [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 [] 12:44:12.652 [debug] Running yt-dlp command for action: get_downloadable_status 12:44:12.653 [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 [] 12:44:12.653 [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 [] 12:44:12.654 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:44:12.654 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kWAlTuJgMTI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/02/67022e57801b85d64a60ce098aa2ff8a27fafe133dd20dd5d30cbf70acd2a9e5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:44:14.522 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kWAlTuJgMTI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/02/67022e57801b85d64a60ce098aa2ff8a27fafe133dd20dd5d30cbf70acd2a9e5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] kWAlTuJgMTI: Join this channel to get access to members-only content like this video, and other exclusive perks. 12:44:14.522 [error] yt-dlp download error for media item #3751148: "ERROR: [youtube] kWAlTuJgMTI: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 12:44:14.523 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3751148},"id":541412,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1875374,"event":"job:exception","queue_time":624516,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:44:28.865 [info] {"source":"oban","duration":9279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 12:44:58.875 [info] {"source":"oban","duration":9228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.199 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:45:28.885 [info] {"source":"oban","duration":9331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:58.892 [info] {"source":"oban","duration":5760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.200 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:46:28.898 [info] {"source":"oban","duration":6120,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:58.909 [info] {"source":"oban","duration":9644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 12:47:00.201 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:47:28.916 [info] {"source":"oban","duration":7019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:58.924 [info] {"source":"oban","duration":7332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.202 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:48:28.931 [info] {"source":"oban","duration":5817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:58.938 [info] {"source":"oban","duration":5936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.203 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:49:28.945 [info] {"source":"oban","duration":5926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:58.950 [info] {"source":"oban","duration":4346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.204 [info] {"source":"oban","duration":141,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:50:28.959 [info] {"source":"oban","duration":7378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:58.965 [info] {"source":"oban","duration":5696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.205 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:51:28.970 [info] {"source":"oban","duration":5337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:58.978 [info] {"source":"oban","duration":6698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 12:52:00.206 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:52:26.219 [info] {"args":{"id":1453128},"id":540514,"meta":{},"system_time":1793037146218941261,"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"]} 12:52:26.219 [debug] QUERY OK source="media_items" db=0.1ms idle=1762.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" = ?) [1453128] 12:52:26.219 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:26.219 [debug] QUERY OK source="sources" db=0.2ms idle=1009.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:26.220 [debug] QUERY OK source="media_profiles" db=0.2ms idle=763.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:26.220 [debug] QUERY OK source="media_items" db=0.3ms 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 [1453128] 12:52:26.222 [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" = ?) [1453128] 12:52:26.222 [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] 12:52:26.223 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:26.223 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:26.223 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:26.224 [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 [] 12:52:26.224 [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 [] 12:52:26.224 [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 [] 12:52:26.224 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1i7mmkIYDrk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/30/ca/30cacfa3d228dc6f8439920779116d8d82e2bfca7f0dd0eb2bc5559e967210c0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:28.254 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1i7mmkIYDrk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/30/ca/30cacfa3d228dc6f8439920779116d8d82e2bfca7f0dd0eb2bc5559e967210c0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 1i7mmkIYDrk: Join this channel to get access to members-only content like this video, and other exclusive perks. 12:52:28.254 [error] yt-dlp download error for media item #1453128: "ERROR: [youtube] 1i7mmkIYDrk: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 12:52:28.255 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1453128},"id":540514,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2035957,"event":"job:exception","queue_time":830388,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:28.986 [info] {"source":"oban","duration":8099,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:44.243 [info] {"args":{"id":52},"id":541447,"meta":{},"system_time":1793037164243355980,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:44.243 [debug] QUERY OK source="sources" db=0.2ms idle=786.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:52:44.244 [debug] QUERY OK source="settings" db=0.1ms idle=787.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:44.244 [debug] QUERY OK source="media_profiles" db=0.6ms idle=787.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:44.245 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:44.245 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 12:52:44.668 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 12:52:44.669 [debug] QUERY OK source="media_items" db=0.5ms idle=425.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, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 12:52:44.670 [debug] QUERY OK source="media_items" db=0.9ms idle=426.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] 12:52:44.675 [debug] QUERY OK source="tasks" db=0.2ms idle=429.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541449, 1301334, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.679 [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" [541450, 1301335, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.682 [info] {"args":{"id":1301334},"id":541449,"meta":{},"system_time":1793037164682126011,"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"]} 12:52:44.682 [info] {"args":{"id":1301335},"id":541450,"meta":{},"system_time":1793037164682197661,"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"]} 12:52:44.682 [debug] QUERY OK source="media_items" db=0.5ms idle=3.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 12:52:44.683 [debug] QUERY OK source="media_items" db=0.7ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 12:52:44.683 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:44.683 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:44.683 [debug] QUERY OK source="sources" db=0.3ms 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] 12:52:44.683 [debug] QUERY OK source="sources" db=0.3ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 12:52:44.683 [debug] QUERY OK source="tasks" db=0.2ms idle=0.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541451, 1301347, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.684 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 12:52:44.684 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 12:52:44.684 [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] 12:52:44.685 [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] 12:52:44.686 [debug] QUERY OK source="media_metadata" db=0.2ms 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] 12:52:44.686 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301334] 12:52:44.687 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 12:52:44.687 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:44.687 [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 [] 12:52:44.687 [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 [] 12:52:44.687 [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 [] 12:52:44.687 [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 [] 12:52:44.687 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:44.688 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:44.688 [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 [] 12:52:44.689 [debug] QUERY OK source="tasks" db=0.3ms idle=1.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541452, 1301392, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.689 [debug] QUERY OK source="settings" db=0.2ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:44.689 [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 [] 12:52:44.689 [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 [] 12:52:44.689 [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/ad/f6ad7b0e4eea68937fe7ae6e1bcf1fd711f3c48399d552e015e9865e891d7b7d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:44.689 [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 [] 12:52:44.690 [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 [] 12:52:44.690 [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/6e/d4/6ed4bce0d6efeb216e26358069a6f351ae681d3cfc2b885f92289c5fc7c6e758.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:44.692 [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" [541453, 1301393, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.709 [debug] QUERY OK source="tasks" db=14.1ms idle=3.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541454, 1301394, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.715 [debug] QUERY OK source="tasks" db=0.3ms idle=20.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541455, 1301395, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.719 [debug] QUERY OK source="tasks" db=0.2ms idle=3.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541456, 1301397, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.722 [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" [541457, 1301398, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.725 [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" [541458, 1301399, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.728 [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" [541459, 1301400, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.731 [debug] QUERY OK source="tasks" db=0.8ms idle=3.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541460, 2720968, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.734 [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" [541461, 3440530, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.737 [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" [541462, 3675707, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.738 [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" [541463, 52, ~U[2026-10-26 17:52:44Z], ~U[2026-10-26 17:52:44Z]] 12:52:44.738 [info] {"args":{"id":52},"id":541447,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":495004,"event":"job:stop","queue_time":249395,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:46.512 [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/6e/d4/6ed4bce0d6efeb216e26358069a6f351ae681d3cfc2b885f92289c5fc7c6e758.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. 12:52:46.512 [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" 12:52:46.512 [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" 12:52:46.513 [info] {"args":{"id":1301334},"id":541449,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1830624,"event":"job:stop","queue_time":680563,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:46.519 [info] {"args":{"id":1301347},"id":541451,"meta":{},"system_time":1793037166519112302,"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"]} 12:52:46.519 [debug] QUERY OK source="media_items" db=0.1ms idle=62.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" = ?) [1301347] 12:52:46.519 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:46.519 [debug] QUERY OK source="sources" db=0.1ms idle=63.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:46.520 [debug] QUERY OK source="media_profiles" db=0.3ms idle=63.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:46.520 [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] 12:52:46.523 [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" = ?) [1301347] 12:52:46.524 [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] 12:52:46.524 [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 [] 12:52:46.524 [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 [] 12:52:46.524 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:46.525 [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 [] 12:52:46.525 [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 [] 12:52:46.525 [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 [] 12:52:46.525 [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/3f/63/3f63ec154f43223b8cbe9b7d6c79eeed026fec4dc78b2b29e6e8b536ae7fbac4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:46.685 [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/ad/f6ad7b0e4eea68937fe7ae6e1bcf1fd711f3c48399d552e015e9865e891d7b7d.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. 12:52:46.686 [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" 12:52:46.686 [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" 12:52:46.686 [info] {"args":{"id":1301335},"id":541450,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2004017,"event":"job:stop","queue_time":680563,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:46.693 [info] {"args":{"id":1301392},"id":541452,"meta":{},"system_time":1793037166693112072,"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"]} 12:52:46.693 [debug] QUERY OK source="media_items" db=0.1ms idle=167.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" = ?) [1301392] 12:52:46.693 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:46.693 [debug] QUERY OK source="sources" db=0.1ms idle=168.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:46.694 [debug] QUERY OK source="media_profiles" db=0.1ms idle=168.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:46.694 [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 [1301392] 12:52:46.695 [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] 12:52:46.695 [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] 12:52:46.695 [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 [] 12:52:46.696 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:46.696 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:46.697 [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 [] 12:52:46.698 [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 [] 12:52:46.698 [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 [] 12:52:46.698 [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/d3/0a/d30a7172d4872bbeb3ae43b657b5f9faed63846e4aa8504752116f23c1702d51.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:48.402 [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/3f/63/3f63ec154f43223b8cbe9b7d6c79eeed026fec4dc78b2b29e6e8b536ae7fbac4.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. 12:52:48.402 [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" 12:52:48.402 [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" 12:52:48.403 [info] {"args":{"id":1301347},"id":541451,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1883855,"event":"job:stop","queue_time":2518508,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:48.410 [info] {"args":{"id":1301393},"id":541453,"meta":{},"system_time":1793037168410530435,"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"]} 12:52:48.411 [debug] QUERY OK source="media_items" db=0.2ms idle=1712.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" = ?) [1301393] 12:52:48.411 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:48.411 [debug] QUERY OK source="sources" db=0.2ms idle=1170.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:48.412 [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] 12:52:48.412 [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 [1301393] 12:52:48.415 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.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] 12:52:48.415 [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] 12:52:48.416 [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 [] 12:52:48.416 [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 [] 12:52:48.416 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:48.417 [debug] QUERY OK source="settings" db=0.1ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:48.417 [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 [] 12:52:48.417 [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 [] 12:52:48.417 [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/29/77/297718c5da54b3c6c65ec256807bd405301eed570972e5110c2ba4ff6c32ecca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:48.702 [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/d3/0a/d30a7172d4872bbeb3ae43b657b5f9faed63846e4aa8504752116f23c1702d51.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. 12:52:48.702 [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" 12:52:48.703 [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" 12:52:48.703 [info] {"args":{"id":1301392},"id":541452,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2010012,"event":"job:stop","queue_time":2692509,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:48.710 [info] {"args":{"id":1301394},"id":541454,"meta":{},"system_time":1793037168710155160,"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"]} 12:52:48.710 [debug] QUERY OK source="media_items" db=0.1ms idle=293.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] 12:52:48.710 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:48.710 [debug] QUERY OK source="sources" db=0.1ms idle=293.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:48.711 [debug] QUERY OK source="media_profiles" db=0.1ms idle=293.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:48.711 [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 [1301394] 12:52:48.713 [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] 12:52:48.713 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:48.713 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:48.713 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:48.714 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:48.714 [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 [] 12:52:48.715 [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 [] 12:52:48.715 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:48.715 [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/c9/cc/c9ccdeafca0ddac5a5e1111f8599b46965af1980d07d8365741b8ffdc344e9e9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:50.560 [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/29/77/297718c5da54b3c6c65ec256807bd405301eed570972e5110c2ba4ff6c32ecca.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. 12:52:50.560 [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" 12:52:50.560 [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" 12:52:50.560 [info] {"args":{"id":1301393},"id":541453,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2149724,"event":"job:stop","queue_time":4409582,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:50.567 [info] {"args":{"id":1301395},"id":541455,"meta":{},"system_time":1793037170567323218,"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"]} 12:52:50.567 [debug] QUERY OK source="media_items" db=0.1ms idle=110.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] 12:52:50.567 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:50.568 [debug] QUERY OK source="sources" db=0.1ms idle=111.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:50.568 [debug] QUERY OK source="media_profiles" db=0.1ms idle=111.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:50.568 [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] 12:52:50.569 [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" = ?) [1301395] 12:52:50.569 [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] 12:52:50.569 [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 [] 12:52:50.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 [] 12:52:50.569 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:50.571 [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 [] 12:52:50.571 [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 [] 12:52:50.571 [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 [] 12:52:50.571 [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/55/69/5569862ed3e2c98f20c82cc895c8a9c79ef1a46e0e7b56f865a85ca901b16d90.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:50.966 [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/c9/cc/c9ccdeafca0ddac5a5e1111f8599b46965af1980d07d8365741b8ffdc344e9e9.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. 12:52:50.966 [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" 12:52:50.966 [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" 12:52:50.966 [info] {"args":{"id":1301394},"id":541454,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2256299,"event":"job:stop","queue_time":4709559,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:50.973 [info] {"args":{"id":1301397},"id":541456,"meta":{},"system_time":1793037170973206284,"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"]} 12:52:50.973 [debug] QUERY OK source="media_items" db=0.1ms idle=401.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] 12:52:50.973 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:50.974 [debug] QUERY OK source="sources" db=0.1ms idle=402.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:50.974 [debug] QUERY OK source="media_profiles" db=0.1ms idle=402.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:50.974 [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] 12:52:50.976 [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] 12:52:50.976 [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] 12:52:50.976 [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 [] 12:52:50.976 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:50.976 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:50.977 [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 [] 12:52:50.977 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:50.978 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:50.978 [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/20/ea/20eaee42f295e1f26c995c47d365bbb765926a56cbb7853ea9d71c07b0d59d80.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:52.714 [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/55/69/5569862ed3e2c98f20c82cc895c8a9c79ef1a46e0e7b56f865a85ca901b16d90.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. 12:52:52.714 [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" 12:52:52.714 [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" 12:52:52.715 [info] {"args":{"id":1301395},"id":541455,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2147547,"event":"job:stop","queue_time":6566514,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:52.721 [info] {"args":{"id":1301398},"id":541457,"meta":{},"system_time":1793037172721238464,"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"]} 12:52:52.721 [debug] QUERY OK source="media_items" db=0.1ms idle=264.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] 12:52:52.721 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:52.721 [debug] QUERY OK source="sources" db=0.1ms idle=265.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:52.722 [debug] QUERY OK source="media_profiles" db=0.1ms idle=265.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:52.722 [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 [1301398] 12:52:52.723 [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] 12:52:52.723 [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] 12:52:52.724 [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 [] 12:52:52.724 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:52.724 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:52.725 [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 [] 12:52:52.725 [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 [] 12:52:52.725 [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 [] 12:52:52.725 [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/15/bb/15bbbbf6b1bb6ca54df928d7600469d0fffaddcfdd2e6f30ce9505c80436bfed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:53.151 [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/20/ea/20eaee42f295e1f26c995c47d365bbb765926a56cbb7853ea9d71c07b0d59d80.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. 12:52:53.151 [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" 12:52:53.151 [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" 12:52:53.151 [info] {"args":{"id":1301397},"id":541456,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2178348,"event":"job:stop","queue_time":6972561,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:53.158 [info] {"args":{"id":1301399},"id":541458,"meta":{},"system_time":1793037173158116198,"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"]} 12:52:53.158 [debug] QUERY OK source="media_items" db=0.1ms idle=432.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] 12:52:53.158 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:53.158 [debug] QUERY OK source="sources" db=0.1ms idle=433.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:53.159 [debug] QUERY OK source="media_profiles" db=0.1ms idle=433.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:53.159 [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] 12:52:53.163 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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] 12:52:53.163 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 12:52:53.163 [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 [] 12:52:53.163 [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 [] 12:52:53.163 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:53.165 [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 [] 12:52:53.165 [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 [] 12:52:53.165 [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 [] 12:52:53.166 [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/e2/69e2e8c094d0fff25af64dd9e589104d3effbce1a0d94518eae9cfe6cdfaaa50.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:54.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/15/bb/15bbbbf6b1bb6ca54df928d7600469d0fffaddcfdd2e6f30ce9505c80436bfed.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. 12:52:54.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" 12:52:54.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" 12:52:54.665 [info] {"args":{"id":1301398},"id":541457,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1944251,"event":"job:stop","queue_time":8720564,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:54.672 [info] {"args":{"id":1301400},"id":541459,"meta":{},"system_time":1793037174672168219,"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"]} 12:52:54.672 [debug] QUERY OK source="media_items" db=0.1ms idle=215.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] 12:52:54.672 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:54.672 [debug] QUERY OK source="sources" db=0.1ms idle=215.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:54.673 [debug] QUERY OK source="media_profiles" db=0.1ms idle=216.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:54.673 [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 [1301400] 12:52:54.674 [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] 12:52:54.674 [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] 12:52:54.675 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:54.675 [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 [] 12:52:54.675 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:54.676 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:54.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 [] 12:52:54.676 [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 [] 12:52:54.676 [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/fb/0b/fb0b730f56343fe57bafc373dd1cb4b763f851b6668aeffa22a30a148ac4ab35.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:55.093 [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/e2/69e2e8c094d0fff25af64dd9e589104d3effbce1a0d94518eae9cfe6cdfaaa50.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. 12:52:55.093 [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" 12:52:55.093 [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" 12:52:55.093 [info] {"args":{"id":1301399},"id":541458,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1935243,"event":"job:stop","queue_time":9157511,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:55.100 [info] {"args":{"id":2720968},"id":541460,"meta":{},"system_time":1793037175100188895,"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"]} 12:52:55.100 [debug] QUERY OK source="media_items" db=0.2ms idle=424.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" = ?) [2720968] 12:52:55.100 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:55.101 [debug] QUERY OK source="sources" db=0.2ms idle=424.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:55.101 [debug] QUERY OK source="media_profiles" db=0.1ms idle=424.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] 12:52:55.101 [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] 12:52:55.102 [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] 12:52:55.103 [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] 12:52:55.103 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:55.103 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:55.103 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:55.104 [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 [] 12:52:55.105 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:55.105 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:55.105 [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/50/84/5084b151d1ea6d56540d6f6e3ffec44472a3c6f5f69912f75f6ed5a44f750024.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:56.591 [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/fb/0b/fb0b730f56343fe57bafc373dd1cb4b763f851b6668aeffa22a30a148ac4ab35.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. 12:52:56.591 [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" 12:52:56.591 [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" 12:52:56.592 [info] {"args":{"id":1301400},"id":541459,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1919802,"event":"job:stop","queue_time":10671534,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:56.598 [info] {"args":{"id":3440530},"id":541461,"meta":{},"system_time":1793037176598122458,"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"]} 12:52:56.598 [debug] QUERY OK source="media_items" db=0.1ms idle=141.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" = ?) [3440530] 12:52:56.598 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:56.598 [debug] QUERY OK source="sources" db=0.1ms idle=141.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:56.599 [debug] QUERY OK source="media_profiles" db=0.1ms idle=142.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:56.599 [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 [3440530] 12:52:56.600 [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" = ?) [3440530] 12:52:56.601 [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] 12:52:56.601 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:56.601 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:56.601 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:56.603 [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 [] 12:52:56.603 [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 [] 12:52:56.603 [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 [] 12:52:56.603 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/56/81/5681de82fcf9365375fae92f0a260400b08a72f8d929fc1019a7e53a4a648e0c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:57.144 [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/50/84/5084b151d1ea6d56540d6f6e3ffec44472a3c6f5f69912f75f6ed5a44f750024.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. 12:52:57.144 [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" 12:52:57.144 [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" 12:52:57.144 [info] {"args":{"id":2720968},"id":541460,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2044105,"event":"job:stop","queue_time":11099564,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:57.151 [info] {"args":{"id":3675707},"id":541462,"meta":{},"system_time":1793037177151103436,"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"]} 12:52:57.151 [debug] QUERY OK source="media_items" db=0.2ms idle=547.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3675707] 12:52:57.151 [info] User scripts lifecyle file either not present or is empty. Skipping. 12:52:57.151 [debug] QUERY OK source="sources" db=0.1ms idle=548.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 12:52:57.152 [debug] QUERY OK source="media_profiles" db=0.1ms idle=548.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:57.152 [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 [3675707] 12:52:57.153 [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" = ?) [3675707] 12:52:57.154 [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] 12:52:57.154 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:57.154 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:57.154 [debug] Running yt-dlp command for action: get_downloadable_status 12:52:57.155 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:57.155 [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 [] 12:52:57.155 [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 [] 12:52:57.156 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6d/8f/6d8f5ed620e9a7a40a6747751e66f853549117853856a36f7af3428cd763e38a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:52:57.260 [info] {"args":{"id":51},"id":541448,"meta":{},"system_time":1793037177260207173,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:57.260 [debug] QUERY OK source="sources" db=0.1ms idle=104.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 12:52:57.260 [debug] QUERY OK source="settings" db=0.1ms idle=104.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:57.261 [debug] QUERY OK source="media_profiles" db=0.1ms idle=104.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] 12:52:57.261 [debug] QUERY OK source="settings" db=0.1ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:57.261 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 12:52:57.426 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 12:52:57.427 [debug] QUERY OK source="media_items" db=0.3ms idle=166.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, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 12:52:57.427 [debug] QUERY OK source="media_items" db=0.4ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 12:52:57.428 [debug] QUERY OK source="tasks" db=0.1ms idle=167.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541464, 51, ~U[2026-10-26 17:52:57Z], ~U[2026-10-26 17:52:57Z]] 12:52:57.429 [info] {"args":{"id":51},"id":541448,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":168738,"event":"job:stop","queue_time":473261,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:58.371 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/56/81/5681de82fcf9365375fae92f0a260400b08a72f8d929fc1019a7e53a4a648e0c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 12:52:58.372 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 12:52:58.372 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 12:52:58.372 [info] {"args":{"id":3440530},"id":541461,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1774038,"event":"job:stop","queue_time":12597508,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:52:58.994 [info] {"source":"oban","duration":7283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:59.002 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6d/8f/6d8f5ed620e9a7a40a6747751e66f853549117853856a36f7af3428cd763e38a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 12:52:59.002 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 12:52:59.002 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 12:52:59.003 [info] {"args":{"id":3675707},"id":541462,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1851699,"event":"job:stop","queue_time":13150508,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 12:53:00.207 [info] {"source":"oban","duration":167,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:53:29.005 [info] {"source":"oban","duration":9781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:59.015 [info] {"source":"oban","duration":9501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.208 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:54:29.025 [info] {"source":"oban","duration":10038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 12:54:59.036 [info] {"source":"oban","duration":10079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.209 [info] {"source":"oban","duration":139,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:55:29.043 [info] {"source":"oban","duration":5926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:59.053 [info] {"source":"oban","duration":9221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.210 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:56:29.063 [info] {"source":"oban","duration":9072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:59.071 [info] {"source":"oban","duration":6606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 12:57:00.211 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:57:29.080 [info] {"source":"oban","duration":9325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:59.091 [info] {"source":"oban","duration":9763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.212 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:58:29.097 [info] {"source":"oban","duration":6154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:59.107 [info] {"source":"oban","duration":9366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.213 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:59:29.114 [info] {"source":"oban","duration":6052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:59.121 [info] {"source":"oban","duration":5844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.214 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:00:29.132 [info] {"source":"oban","duration":9571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:59.138 [info] {"source":"oban","duration":5770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.215 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:01:19.844 [info] {"args":{"id":30},"id":541415,"meta":{},"system_time":1793037679843969631,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:01:19.845 [debug] QUERY OK source="sources" db=0.9ms idle=1387.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:19.846 [debug] QUERY OK source="settings" db=0.8ms idle=1010.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:01:19.853 [debug] QUERY OK source="media_items" db=7.1ms idle=389.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] 13:01:19.854 [debug] QUERY OK source="media_items" db=0.9ms idle=16.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 13:01:19.855 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:01:19.855 [debug] QUERY OK source="settings" db=0.1ms idle=10.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:01:19.855 [debug] QUERY OK source="settings" db=0.1ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:01:19.861 [debug] QUERY OK source="media_items" db=3.9ms 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."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [30] 13:01:19.862 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:01:19.862 [debug] Current batch of media processed. Will check again in 1000ms 13:01:19.862 [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 [] 13:01:19.862 [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 [] 13:01:19.862 [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 [] 13:01:19.862 [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/b1/84/b184e7be937ed8a6704258299a77eea57c40fc5ce2da065883f8e291e485b37f.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/0d/1a/0d1aa987267f5423daa79bbbd2e876a6dca3353ee89f3059a507828f79e48c54.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:01:20.862 [debug] Current batch of media processed. Will check again in 1000ms 13:01:21.864 [debug] Current batch of media processed. Will check again in 1000ms 13:01:22.864 [debug] Current batch of media processed. Will check again in 1000ms 13:01:23.865 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 878, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", "id" => "g6PtJ0ZOCp8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "playlist_index" => 1, "timestamp" => 1793032225, "title" => "The Future Of Linux Gaming Is Bright", "upload_date" => "20261026"} 13:01:23.866 [debug] QUERY OK source="sources" db=0.2ms idle=409.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:01:23.866 [debug] QUERY OK source="sources" db=0.2ms idle=410.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:23.873 [debug] QUERY OK source="media_items" db=5.9ms idle=410.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 16:30:25Z], 30] 13:01:23.874 [debug] QUERY OK source="media_items" db=1.2ms idle=416.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" ["Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "47af9147-a50b-43eb-a468-41f1e2c92879", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, false, false, 30, [], 98, ~U[2026-10-26 16:30:25Z], ~U[2026-10-26 18:01:23Z], ~U[2026-10-26 18:01:23Z], "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, 30, ~U[2026-10-26 16:30:25Z]] 13:01:23.875 [debug] QUERY OK source="sources" db=0.8ms idle=33.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:01:23.876 [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] 13:01:23.876 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4246141] 13:01:23.876 [debug] Current batch of media processed. Will check again in 1000ms 13:01:24.877 [debug] Current batch of media processed. Will check again in 1000ms 13:01:25.878 [debug] Current batch of media processed. Will check again in 1000ms 13:01:26.879 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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" => 857, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", "id" => "B28eZ7BHRYE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=B28eZ7BHRYE", "playlist_index" => 2, "timestamp" => 1792945823, "title" => "Arch Linux's AUR Keeps Getting Hit With Malware", "upload_date" => "20261025"} 13:01:26.880 [debug] QUERY OK source="sources" db=0.2ms idle=1423.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:01:26.881 [debug] QUERY OK source="sources" db=0.1ms idle=1424.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:26.887 [debug] QUERY OK source="media_items" db=6.1ms idle=1424.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-25 16:30:23Z], 30] 13:01:26.889 [debug] QUERY OK source="media_items" db=1.3ms idle=1043.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" ["Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "19fe648d-de4c-47f7-884b-2ad2eb1af943", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, false, false, 30, [], 98, ~U[2026-10-25 16:30:23Z], ~U[2026-10-26 18:01:26Z], ~U[2026-10-26 18:01:26Z], "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, 30, ~U[2026-10-25 16:30:23Z]] 13:01:26.889 [debug] QUERY OK source="sources" db=0.2ms idle=44.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:01:26.890 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:01:26.890 [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 [4238259] 13:01:26.890 [debug] Current batch of media processed. Will check again in 1000ms 13:01:27.891 [debug] Current batch of media processed. Will check again in 1000ms 13:01:28.892 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1655, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", "id" => "ObKIuIzFzYs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ObKIuIzFzYs", "playlist_index" => 3, "timestamp" => 1792859431, "title" => "2026 Linux Maintainers Summit Was All About AI", "upload_date" => "20261024"} 13:01:28.893 [debug] QUERY OK source="sources" db=0.2ms idle=436.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:01:28.893 [debug] QUERY OK source="sources" db=0.1ms idle=436.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:28.898 [debug] QUERY OK source="media_items" db=5.0ms idle=437.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 16:30:31Z], 30] 13:01:28.900 [debug] QUERY OK source="media_items" db=1.2ms idle=442.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" ["As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "b545b0fd-98ac-4ec1-a9b2-f97d189daefe", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-24 16:30:31Z], ~U[2026-10-26 18:01:28Z], ~U[2026-10-26 18:01:28Z], "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, 30, ~U[2026-10-24 16:30:31Z]] 13:01:28.900 [debug] QUERY OK source="sources" db=0.1ms idle=52.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:01:28.901 [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] 13:01:28.901 [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 [4230255] 13:01:28.901 [debug] Current batch of media processed. Will check again in 1000ms 13:01:29.148 [info] {"source":"oban","duration":9980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:29.902 [debug] Current batch of media processed. Will check again in 1000ms 13:01:30.903 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 661, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", "id" => "tOhtcCHEcks", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tOhtcCHEcks", "playlist_index" => 4, "timestamp" => 1792686606, "title" => "Steam Finally Went 64 Bit On Linux", "upload_date" => "20261022"} 13:01:30.904 [debug] QUERY OK source="sources" db=0.4ms idle=447.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:01:30.905 [debug] QUERY OK source="sources" db=0.1ms idle=448.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:01:30.911 [debug] QUERY OK source="media_items" db=5.8ms idle=448.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 16:30:06Z], 30] 13:01:30.913 [debug] QUERY OK source="media_items" db=1.5ms idle=454.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" ["After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "e19e8471-e98b-45b1-a183-93e6d2a20574", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, false, false, 30, [], 98, ~U[2026-10-22 16:30:06Z], ~U[2026-10-26 18:01:30Z], ~U[2026-10-26 18:01:30Z], "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, 30, ~U[2026-10-22 16:30:06Z]] 13:01:30.913 [debug] QUERY OK source="sources" db=0.4ms idle=62.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:01:30.914 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:01:30.914 [debug] QUERY OK source="media_items" db=0.3ms 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 [4214594] 13:01:30.915 [debug] Current batch of media processed. Will check again in 1000ms 13:01:31.915 [debug] Current batch of media processed. Will check again in 1000ms 13:01:32.917 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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" => 1233, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", "id" => "lBCWjJslSc8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lBCWjJslSc8", "playlist_index" => 5, "timestamp" => 1792600228, "title" => "Linux Kernel Just Abandoned AI Disclosure", "upload_date" => "20261021"} 13:01:32.917 [debug] QUERY OK source="sources" db=0.2ms idle=460.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:01:32.918 [debug] QUERY OK source="sources" db=0.1ms idle=461.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:32.924 [debug] QUERY OK source="media_items" db=6.2ms idle=461.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 16:30:28Z], 30] 13:01:32.926 [debug] QUERY OK source="media_items" db=1.3ms idle=468.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" ["For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "b7f13c34-bfa9-4e86-a244-e025ea664aee", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, false, false, 30, [], 98, ~U[2026-10-21 16:30:28Z], ~U[2026-10-26 18:01:32Z], ~U[2026-10-26 18:01:32Z], "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, 30, ~U[2026-10-21 16:30:28Z]] 13:01:32.927 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [30] 13:01:32.928 [debug] QUERY OK source="media_profiles" db=0.8ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:01:32.928 [debug] QUERY OK source="media_items" db=0.2ms idle=10.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 [4206623] 13:01:32.928 [debug] Current batch of media processed. Will check again in 1000ms 13:01:33.929 [debug] Current batch of media processed. Will check again in 1000ms 13:01:34.930 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1095, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", "id" => "3Xi7m0CYk5s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "playlist_index" => 6, "timestamp" => 1792513813, "title" => "Fortnite On Linux Changes Everything For Linux Gaming", "upload_date" => "20261020"} 13:01:34.931 [debug] QUERY OK source="sources" db=0.2ms idle=474.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 13:01:34.931 [debug] QUERY OK source="sources" db=0.1ms idle=474.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:34.936 [debug] QUERY OK source="media_items" db=4.9ms 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-10-20 16:30:13Z], 30] 13:01:34.938 [debug] QUERY OK source="media_items" db=1.0ms idle=480.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" ["Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "9f4914c9-aaba-4131-9ec5-c140ae08a673", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, false, false, 30, [], 98, ~U[2026-10-20 16:30:13Z], ~U[2026-10-26 18:01:34Z], ~U[2026-10-26 18:01:34Z], "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, 30, ~U[2026-10-20 16:30:13Z]] 13:01:34.938 [debug] QUERY OK source="sources" db=0.1ms idle=80.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:01:34.938 [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] 13:01:34.939 [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 [4198751] 13:01:34.939 [debug] Current batch of media processed. Will check again in 1000ms 13:01:35.939 [debug] Current batch of media processed. Will check again in 1000ms 13:01:36.940 [debug] Current batch of media processed. Will check again in 1000ms 13:01:37.941 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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" => 1215, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", "id" => "tnwm-zjkHcE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tnwm-zjkHcE", "playlist_index" => 7, "timestamp" => 1792427421, "title" => "Those Who Built Open Source", "upload_date" => "20261019"} 13:01:37.942 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [30] 13:01:37.942 [debug] QUERY OK source="sources" db=0.1ms idle=1486.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:37.948 [debug] QUERY OK source="media_items" db=5.8ms idle=1486.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 16:30:21Z], 30] 13:01:37.950 [debug] QUERY OK source="media_items" db=1.1ms idle=1088.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" ["So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "d3e78db7-3e39-437e-9e8b-4de2768665d5", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, false, false, 30, [], 98, ~U[2026-10-19 16:30:21Z], ~U[2026-10-26 18:01:37Z], ~U[2026-10-26 18:01:37Z], "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, 30, ~U[2026-10-19 16:30:21Z]] 13:01:37.950 [debug] QUERY OK source="sources" db=0.1ms idle=88.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:01:37.951 [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] 13:01:37.951 [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 [4190952] 13:01:37.951 [debug] Current batch of media processed. Will check again in 1000ms 13:01:38.952 [debug] Current batch of media processed. Will check again in 1000ms 13:01:39.953 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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" => 902, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", "id" => "k7aFcpRduxU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=k7aFcpRduxU", "playlist_index" => 8, "timestamp" => 1792341036, "title" => "Gentoo Needs Your Help", "upload_date" => "20261018"} 13:01:39.954 [debug] QUERY OK source="sources" db=0.2ms idle=497.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:01:39.954 [debug] QUERY OK source="sources" db=0.1ms idle=497.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:39.960 [debug] QUERY OK source="media_items" db=5.8ms idle=498.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-18 16:30:36Z], 30] 13:01:39.962 [debug] QUERY OK source="media_items" db=1.4ms idle=504.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" ["Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "648b3d29-d209-4e2c-95b2-d9e9b6b9c733", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-10-18 16:30:36Z], ~U[2026-10-26 18:01:39Z], ~U[2026-10-26 18:01:39Z], "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, 30, ~U[2026-10-18 16:30:36Z]] 13:01:39.963 [debug] QUERY OK source="sources" db=0.2ms idle=96.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:01:39.963 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:01:39.964 [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 [4182968] 13:01:39.964 [debug] Current batch of media processed. Will check again in 1000ms 13:01:40.964 [debug] Current batch of media processed. Will check again in 1000ms 13:01:41.965 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1047, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", "id" => "cxbtnPAL8Z8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "playlist_index" => 9, "timestamp" => 1792254608, "title" => "Gitea Is Not Suitable For Gitea", "upload_date" => "20261017"} 13:01:41.966 [debug] QUERY OK source="sources" db=0.1ms idle=509.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:01:41.966 [debug] QUERY OK source="sources" db=0.1ms idle=509.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:41.971 [debug] QUERY OK source="media_items" db=4.8ms idle=510.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-17 16:30:08Z], 30] 13:01:41.973 [debug] QUERY OK source="media_items" db=1.0ms idle=515.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" ["If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "c5f2c062-4cd0-4621-bef8-5901a448ba8c", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, false, false, 30, [], 98, ~U[2026-10-17 16:30:08Z], ~U[2026-10-26 18:01:41Z], ~U[2026-10-26 18:01:41Z], "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, 30, ~U[2026-10-17 16:30:08Z]] 13:01:41.973 [debug] QUERY OK source="sources" db=0.1ms idle=103.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:01:41.973 [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] 13:01:41.973 [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 [4175011] 13:01:41.974 [debug] Current batch of media processed. Will check again in 1000ms 13:01:42.974 [debug] Current batch of media processed. Will check again in 1000ms 13:01:43.975 [debug] Current batch of media processed. Will check again in 1000ms 13:01:44.976 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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" => 1126, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", "id" => "Gn1n4CuKccI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Gn1n4CuKccI", "playlist_index" => 10, "timestamp" => 1792081827, "title" => "I Guess MacOS Isn't \"Unix\" Anymore", "upload_date" => "20261015"} 13:01:44.977 [debug] QUERY OK source="sources" db=0.2ms idle=1520.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:01:44.977 [debug] QUERY OK source="sources" db=0.1ms idle=1520.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:44.982 [debug] QUERY OK source="media_items" db=4.7ms idle=1521.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 16:30:27Z], 30] 13:01:44.984 [debug] QUERY OK source="media_items" db=1.7ms idle=1110.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" ["Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "270b1d49-cfd3-4a16-8cb8-12c093b8c59e", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, false, false, 30, [], 98, ~U[2026-10-15 16:30:27Z], ~U[2026-10-26 18:01:44Z], ~U[2026-10-26 18:01:44Z], "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, 30, ~U[2026-10-15 16:30:27Z]] 13:01:44.985 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [30] 13:01:44.985 [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] 13:01:44.985 [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 [4159190] 13:01:44.985 [debug] Current batch of media processed. Will check again in 1000ms 13:01:45.986 [debug] Current batch of media processed. Will check again in 1000ms 13:01:46.988 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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" => 836, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", "id" => "QeXNWDv1JGE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QeXNWDv1JGE", "playlist_index" => 11, "timestamp" => 1791995414, "title" => "The JPEG XL Saga Is Finally Over", "upload_date" => "20261014"} 13:01:46.988 [debug] QUERY OK source="sources" db=0.2ms idle=531.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 13:01:46.989 [debug] QUERY OK source="sources" db=0.1ms idle=532.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:46.995 [debug] QUERY OK source="media_items" db=6.3ms idle=532.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 16:30:14Z], 30] 13:01:46.997 [debug] QUERY OK source="media_items" db=1.5ms idle=539.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" ["Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "c588e76b-2481-419d-9c01-c78023cf7ff4", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, false, false, 30, [], 98, ~U[2026-10-14 16:30:14Z], ~U[2026-10-26 18:01:46Z], ~U[2026-10-26 18:01:46Z], "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, 30, ~U[2026-10-14 16:30:14Z]] 13:01:46.998 [debug] QUERY OK source="sources" db=0.2ms idle=121.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:01:46.998 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:01:46.999 [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 [4151358] 13:01:46.999 [debug] Current batch of media processed. Will check again in 1000ms 13:01:47.999 [debug] Current batch of media processed. Will check again in 1000ms 13:01:49.000 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1071, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", "id" => "_pojeQDbt5Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_pojeQDbt5Q", "playlist_index" => 12, "timestamp" => 1791909021, "title" => "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "upload_date" => "20261013"} 13:01:49.001 [debug] QUERY OK source="sources" db=0.1ms idle=544.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:01:49.001 [debug] QUERY OK source="sources" db=0.0ms idle=544.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:49.006 [debug] QUERY OK source="media_items" db=4.7ms idle=544.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 16:30:21Z], 30] 13:01:49.008 [debug] QUERY OK source="media_items" db=1.1ms idle=550.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" ["There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "1df16ef2-74aa-4f3f-b466-b7955c045cf9", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, false, false, 30, [], 98, ~U[2026-10-13 16:30:21Z], ~U[2026-10-26 18:01:49Z], ~U[2026-10-26 18:01:49Z], "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, 30, ~U[2026-10-13 16:30:21Z]] 13:01:49.008 [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" = ?) [30] 13:01:49.008 [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] 13:01:49.009 [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 [4143528] 13:01:49.009 [debug] Current batch of media processed. Will check again in 1000ms 13:01:50.009 [debug] Current batch of media processed. Will check again in 1000ms 13:01:51.010 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 782, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", "id" => "kUxDwtlnO_Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "playlist_index" => 13, "timestamp" => 1791822640, "title" => "A New Approach To An Ancient Linux Terminal Problem", "upload_date" => "20261012"} 13:01:51.011 [debug] QUERY OK source="sources" db=0.2ms idle=554.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:01:51.011 [debug] QUERY OK source="sources" db=0.1ms idle=555.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:51.018 [debug] QUERY OK source="media_items" db=5.9ms idle=555.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 16:30:40Z], 30] 13:01:51.020 [debug] QUERY OK source="media_items" db=1.5ms idle=561.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 a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "3fb1c3b9-772b-47dd-922a-dca0db49b989", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, false, false, 30, [], 98, ~U[2026-10-12 16:30:40Z], ~U[2026-10-26 18:01:51Z], ~U[2026-10-26 18:01:51Z], "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, 30, ~U[2026-10-12 16:30:40Z]] 13:01:51.020 [debug] QUERY OK source="sources" db=0.3ms idle=136.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:01:51.021 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:01:51.021 [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 [4135585] 13:01:51.021 [debug] Current batch of media processed. Will check again in 1000ms 13:01:52.022 [debug] Current batch of media processed. Will check again in 1000ms 13:01:53.023 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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" => 910, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", "id" => "SNInG2vGTvE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SNInG2vGTvE", "playlist_index" => 14, "timestamp" => 1791736225, "title" => "X11 Has Better Latency Than Wayland... Technically", "upload_date" => "20261011"} 13:01:53.024 [debug] QUERY OK source="sources" db=0.1ms idle=567.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:01:53.024 [debug] QUERY OK source="sources" db=0.0ms idle=567.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:53.029 [debug] QUERY OK source="media_items" db=4.8ms idle=567.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-11 16:30:25Z], 30] 13:01:53.038 [debug] QUERY OK source="media_items" db=8.9ms idle=572.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" ["Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "a37ddbda-8505-460f-a7c1-10285f9ffffb", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, false, false, 30, [], 98, ~U[2026-10-11 16:30:25Z], ~U[2026-10-26 18:01:53Z], ~U[2026-10-26 18:01:53Z], "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, 30, ~U[2026-10-11 16:30:25Z]] 13:01:53.039 [debug] QUERY OK source="sources" db=0.1ms idle=152.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:01:53.039 [debug] QUERY OK source="media_profiles" db=0.1ms idle=15.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:01:53.039 [debug] QUERY OK source="media_items" db=0.1ms idle=15.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4127723] 13:01:53.039 [debug] Current batch of media processed. Will check again in 1000ms 13:01:54.040 [debug] Current batch of media processed. Will check again in 1000ms 13:01:55.041 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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" => 726, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", "id" => "_3ir-4jfwVg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_3ir-4jfwVg", "playlist_index" => 15, "timestamp" => 1791649806, "title" => "Systemd Wants To Centralize Tracking Your Apps", "upload_date" => "20261010"} 13:01:55.042 [debug] QUERY OK source="sources" db=0.1ms idle=585.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:01:55.042 [debug] QUERY OK source="sources" db=0.2ms idle=585.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:55.047 [debug] QUERY OK source="media_items" db=4.9ms idle=586.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-10 16:30:06Z], 30] 13:01:55.050 [debug] QUERY OK source="media_items" db=1.6ms idle=591.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" ["Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "8da023a3-eb9b-4221-a529-baeb6fc2439f", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-10 16:30:06Z], ~U[2026-10-26 18:01:55Z], ~U[2026-10-26 18:01:55Z], "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, 30, ~U[2026-10-10 16:30:06Z]] 13:01:55.050 [debug] QUERY OK source="sources" db=0.1ms idle=160.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:01:55.050 [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] 13:01:55.051 [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 [4121430] 13:01:55.051 [debug] Current batch of media processed. Will check again in 1000ms 13:01:56.051 [debug] Current batch of media processed. Will check again in 1000ms 13:01:57.052 [debug] Current batch of media processed. Will check again in 1000ms 13:01:58.053 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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" => 810, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", "id" => "qWyUF_vMUWM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qWyUF_vMUWM", "playlist_index" => 16, "timestamp" => 1791477008, "title" => "Where Do The Linux Desktops Stand On AI", "upload_date" => "20261008"} 13:01:58.054 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 13:01:58.055 [debug] QUERY OK source="sources" db=0.2ms idle=1598.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:01:58.060 [debug] QUERY OK source="media_items" db=4.9ms idle=1598.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-08 16:30:08Z], 30] 13:01:58.061 [debug] QUERY OK source="media_items" db=1.2ms idle=1168.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" ["Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "218ae901-8518-489b-ae51-64d4b4e2e3bf", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-08 16:30:08Z], ~U[2026-10-26 18:01:58Z], ~U[2026-10-26 18:01:58Z], "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, 30, ~U[2026-10-08 16:30:08Z]] 13:01:58.062 [debug] QUERY OK source="sources" db=0.1ms idle=168.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:01:58.062 [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] 13:01:58.062 [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 [4105704] 13:01:58.062 [debug] Current batch of media processed. Will check again in 1000ms 13:01:59.063 [debug] Current batch of media processed. Will check again in 1000ms 13:01:59.156 [info] {"source":"oban","duration":6959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.064 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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" => 1091, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", "id" => "47cECizg0mo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=47cECizg0mo", "playlist_index" => 17, "timestamp" => 1791390615, "title" => "Flathub Unbanned AI And No One Noticed", "upload_date" => "20261007"} 13:02:00.065 [debug] QUERY OK source="sources" db=0.1ms idle=908.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 13:02:00.065 [debug] QUERY OK source="sources" db=0.1ms idle=608.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:02:00.070 [debug] QUERY OK source="media_items" db=5.1ms idle=608.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-07 16:30:15Z], 30] 13:02:00.072 [debug] QUERY OK source="media_items" db=1.1ms idle=614.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" ["Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "b031a80f-204a-4530-84bf-e4ebbfdb2113", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, false, false, 30, [], 98, ~U[2026-10-07 16:30:15Z], ~U[2026-10-26 18:02:00Z], ~U[2026-10-26 18:02:00Z], "Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, 30, ~U[2026-10-07 16:30:15Z]] 13:02:00.072 [debug] QUERY OK source="sources" db=0.2ms idle=176.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:02:00.073 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 13:02:00.073 [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 [4097854] 13:02:00.074 [debug] Current batch of media processed. Will check again in 1000ms 13:02:00.216 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:02:01.074 [debug] Current batch of media processed. Will check again in 1000ms 13:02:02.075 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 681, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", "id" => "fz7m96PKVmY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fz7m96PKVmY", "playlist_index" => 18, "timestamp" => 1791304217, "title" => "This Company Tried To Destroy An Open Source Project", "upload_date" => "20261006"} 13:02:02.076 [debug] QUERY OK source="sources" db=0.2ms idle=619.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 13:02:02.076 [debug] QUERY OK source="sources" db=0.1ms idle=619.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:02:02.082 [debug] QUERY OK source="media_items" db=5.8ms idle=620.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-06 16:30:17Z], 30] 13:02:02.085 [debug] QUERY OK source="media_items" db=2.5ms idle=626.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" ["What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "95c9dec1-ea65-439d-a927-24723671ac69", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, false, false, 30, [], 98, ~U[2026-10-06 16:30:17Z], ~U[2026-10-26 18:02:02Z], ~U[2026-10-26 18:02:02Z], "What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, 30, ~U[2026-10-06 16:30:17Z]] 13:02:02.086 [debug] QUERY OK source="sources" db=0.2ms idle=187.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:02:02.086 [debug] QUERY OK source="media_profiles" db=0.3ms idle=10.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:02.087 [debug] QUERY OK source="media_items" db=0.2ms idle=10.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4089996] 13:02:02.087 [debug] Current batch of media processed. Will check again in 1000ms 13:02:03.087 [debug] Current batch of media processed. Will check again in 1000ms 13:02:04.088 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1278, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", "id" => "wQJG8Gy2VeI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wQJG8Gy2VeI", "playlist_index" => 19, "timestamp" => 1791217824, "title" => "Immutable Linux Distros Have A Big Problem With Apps", "upload_date" => "20261005"} 13:02:04.089 [debug] QUERY OK source="sources" db=0.3ms idle=632.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:02:04.090 [debug] QUERY OK source="sources" db=0.1ms idle=633.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:02:04.096 [debug] QUERY OK source="media_items" db=5.7ms idle=633.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-05 16:30:24Z], 30] 13:02:04.097 [debug] QUERY OK source="media_items" db=1.3ms idle=639.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" ["One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "01e2c09a-981b-4015-bfa9-c87143216f16", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-05 16:30:24Z], ~U[2026-10-26 18:02:04Z], ~U[2026-10-26 18:02:04Z], "One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, 30, ~U[2026-10-05 16:30:24Z]] 13:02:04.098 [debug] QUERY OK source="sources" db=0.2ms idle=195.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:02:04.098 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:04.099 [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 [4082051] 13:02:04.099 [debug] Current batch of media processed. Will check again in 1000ms 13:02:05.099 [debug] Current batch of media processed. Will check again in 1000ms 13:02:05.716 [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/b1/84/b184e7be937ed8a6704258299a77eea57c40fc5ce2da065883f8e291e485b37f.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/0d/1a/0d1aa987267f5423daa79bbbd2e876a6dca3353ee89f3059a507828f79e48c54.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:02:05.717 [debug] Gracefully stopping file follower 13:02:05.717 [debug] QUERY OK source="sources" db=0.2ms idle=813.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:02:05.717 [debug] QUERY OK source="sources" db=0.1ms idle=261.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:02:05.722 [debug] QUERY OK source="media_items" db=4.6ms idle=261.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 16:30:25Z], 30] 13:02:05.724 [debug] QUERY OK source="media_items" db=1.6ms idle=266.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" ["Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "b2773219-4228-4b96-b54b-d857708a3a1d", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, false, false, 30, [], 98, ~U[2026-10-26 16:30:25Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, 30, ~U[2026-10-26 16:30:25Z]] 13:02:05.725 [debug] QUERY OK source="sources" db=0.1ms idle=268.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:02:05.729 [debug] QUERY OK source="media_items" db=4.4ms 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-10-25 16:30:23Z], 30] 13:02:05.731 [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" ["Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "d00c8874-1652-4461-9f96-516efb8d0ad3", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, false, false, 30, [], 98, ~U[2026-10-25 16:30:23Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, 30, ~U[2026-10-25 16:30:23Z]] 13:02:05.732 [debug] QUERY OK source="sources" db=0.7ms 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] 13:02:05.736 [debug] QUERY OK source="media_items" db=4.5ms 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-10-24 16:30:31Z], 30] 13:02:05.738 [debug] QUERY OK source="media_items" db=1.3ms 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" ["As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "4719f66d-f7a8-4910-a874-884494b0ede1", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-24 16:30:31Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, 30, ~U[2026-10-24 16:30:31Z]] 13:02:05.739 [debug] QUERY OK source="sources" db=0.7ms 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] 13:02:05.744 [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-10-22 16:30:06Z], 30] 13:02:05.745 [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" ["After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "1eb220ae-a985-4ef4-9221-cab9aa7ba9ac", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, false, false, 30, [], 98, ~U[2026-10-22 16:30:06Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, 30, ~U[2026-10-22 16:30:06Z]] 13:02:05.746 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [30] 13:02:05.751 [debug] QUERY OK source="media_items" db=4.6ms idle=8.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 16:30:28Z], 30] 13:02:05.752 [debug] QUERY OK source="media_items" db=0.9ms 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" ["For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "9402a219-cc98-48f6-b65e-f7b9c3845315", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, false, false, 30, [], 98, ~U[2026-10-21 16:30:28Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, 30, ~U[2026-10-21 16:30:28Z]] 13:02:05.753 [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] 13:02:05.758 [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-10-20 16:30:13Z], 30] 13:02:05.759 [debug] QUERY OK source="media_items" db=0.9ms 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" ["Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "5e543d49-1e8d-4118-bca7-51567b06563d", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, false, false, 30, [], 98, ~U[2026-10-20 16:30:13Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, 30, ~U[2026-10-20 16:30:13Z]] 13:02:05.760 [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] 13:02:05.764 [debug] QUERY OK source="media_items" db=4.4ms 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-10-19 16:30:21Z], 30] 13:02:05.765 [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" ["So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "bf3b8e06-b173-45ef-bae4-528b04ef419f", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, false, false, 30, [], 98, ~U[2026-10-19 16:30:21Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, 30, ~U[2026-10-19 16:30:21Z]] 13:02:05.766 [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] 13:02:05.771 [debug] QUERY OK source="media_items" db=4.3ms 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-10-18 16:30:36Z], 30] 13:02:05.772 [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" ["Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "05b7539b-e6a4-4757-94f6-5cdc3b88cabe", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-10-18 16:30:36Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, 30, ~U[2026-10-18 16:30:36Z]] 13:02:05.773 [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] 13:02:05.778 [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-10-17 16:30:08Z], 30] 13:02:05.779 [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" ["If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "175bc660-fdd5-4218-90e7-8a5012b8cce7", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, false, false, 30, [], 98, ~U[2026-10-17 16:30:08Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, 30, ~U[2026-10-17 16:30:08Z]] 13:02:05.780 [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] 13:02:05.785 [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-10-15 16:30:27Z], 30] 13:02:05.786 [debug] QUERY OK source="media_items" db=1.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" ["Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "b6681bbc-75dc-404f-8206-9c08f4a439ad", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, false, false, 30, [], 98, ~U[2026-10-15 16:30:27Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, 30, ~U[2026-10-15 16:30:27Z]] 13:02:05.787 [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] 13:02:05.791 [debug] QUERY OK source="media_items" db=4.4ms 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-10-14 16:30:14Z], 30] 13:02:05.795 [debug] QUERY OK source="media_items" db=3.4ms 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" ["Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "9bf901b8-971a-482c-acb6-05fa7e69e34c", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, false, false, 30, [], 98, ~U[2026-10-14 16:30:14Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, 30, ~U[2026-10-14 16:30:14Z]] 13:02:05.796 [debug] QUERY OK source="sources" db=0.6ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:02:05.801 [debug] QUERY OK source="media_items" db=4.7ms idle=10.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 16:30:21Z], 30] 13:02:05.803 [debug] QUERY OK source="media_items" db=1.2ms idle=14.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" ["There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "7138bed3-4879-47ec-afa3-fdfaeb788f78", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, false, false, 30, [], 98, ~U[2026-10-13 16:30:21Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, 30, ~U[2026-10-13 16:30:21Z]] 13:02:05.804 [debug] QUERY OK source="sources" db=0.7ms idle=11.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:02:05.808 [debug] QUERY OK source="media_items" db=4.6ms idle=8.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 16:30:40Z], 30] 13:02:05.810 [debug] QUERY OK source="media_items" db=1.1ms idle=12.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 a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "411d118a-d867-414e-8af9-57047aae1369", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, false, false, 30, [], 98, ~U[2026-10-12 16:30:40Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, 30, ~U[2026-10-12 16:30:40Z]] 13:02:05.811 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [30] 13:02:05.816 [debug] QUERY OK source="media_items" db=4.5ms idle=8.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-11 16:30:25Z], 30] 13:02:05.894 [debug] QUERY OK source="media_items" db=77.7ms 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" ["Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "d526d9d1-d820-4800-941d-73b50a7a3b47", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, false, false, 30, [], 98, ~U[2026-10-11 16:30:25Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, 30, ~U[2026-10-11 16:30:25Z]] 13:02:05.895 [debug] QUERY OK source="sources" db=0.7ms idle=85.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:02:05.900 [debug] QUERY OK source="media_items" db=4.6ms idle=84.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-10 16:30:06Z], 30] 13:02:05.904 [debug] QUERY OK source="media_items" db=4.1ms idle=88.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" ["Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "c9d74b6a-1faf-4e39-b7c6-f387a52df160", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-10 16:30:06Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, 30, ~U[2026-10-10 16:30:06Z]] 13:02:05.906 [debug] QUERY OK source="sources" db=1.0ms 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] 13:02:05.910 [debug] QUERY OK source="media_items" db=4.5ms idle=10.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-08 16:30:08Z], 30] 13:02:05.912 [debug] QUERY OK source="media_items" db=1.4ms 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" ["Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "3d774f8e-79b4-4ffd-9323-60b33378db15", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-08 16:30:08Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, 30, ~U[2026-10-08 16:30:08Z]] 13:02:05.913 [debug] QUERY OK source="sources" db=0.1ms 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] 13:02:05.917 [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-10-07 16:30:15Z], 30] 13:02:05.918 [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" ["Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "7a2d109f-c629-493c-84ff-1d1238ac020a", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, false, false, 30, [], 98, ~U[2026-10-07 16:30:15Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, 30, ~U[2026-10-07 16:30:15Z]] 13:02:05.919 [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] 13:02:05.924 [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-10-06 16:30:17Z], 30] 13:02:05.925 [debug] QUERY OK source="media_items" db=1.0ms 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" ["What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "5ea71ac1-76a4-4265-9b8c-a2653b645376", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, false, false, 30, [], 98, ~U[2026-10-06 16:30:17Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, 30, ~U[2026-10-06 16:30:17Z]] 13:02:05.926 [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] 13:02:05.931 [debug] QUERY OK source="media_items" db=4.4ms 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-10-05 16:30:24Z], 30] 13:02:05.932 [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" ["One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "5693ee8c-787f-4104-a353-854146074e98", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-05 16:30:24Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, 30, ~U[2026-10-05 16:30:24Z]] 13:02:05.933 [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] 13:02:05.937 [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-10-04 16:30:05Z], 30] 13:02:05.938 [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" ["You'd think an office suite wouldn't be a point of debate that anyone cares about but it turns out on Fedora that may not be the case.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nForum Thread: https://discussion.fedoraproject.org/t/suggestion-retire-libreoffice-ship-collabora-as-the-default-office-suite-out-of-the-box/202428\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LibreOffice #Collabora #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.", "Does Anyone On Linux Actually Care About Office Suites", "98d7889e-7cea-4df6-9551-515b5dec84cb", "4GlNQatbLss", 1047, false, "https://www.youtube.com/watch?v=4GlNQatbLss", 20, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100400_Does Anyone On Linux Actually Care About Office Suites.mp4", false, false, false, 30, [], 98, ~U[2026-10-04 16:30:05Z], ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], "You'd think an office suite wouldn't be a point of debate that anyone cares about but it turns out on Fedora that may not be the case.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nForum Thread: https://discussion.fedoraproject.org/t/suggestion-retire-libreoffice-ship-collabora-as-the-default-office-suite-out-of-the-box/202428\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LibreOffice #Collabora #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.", "Does Anyone On Linux Actually Care About Office Suites", "4GlNQatbLss", 1047, false, "https://www.youtube.com/watch?v=4GlNQatbLss", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100400_Does Anyone On Linux Actually Care About Office Suites.mp4", false, 30, ~U[2026-10-04 16:30:05Z]] 13:02:05.939 [debug] QUERY OK source="sources" db=0.6ms idle=8.0ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z], 30] 13:02:05.944 [debug] QUERY OK source="media_items" db=4.8ms idle=7.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 13:02:05.949 [debug] QUERY OK source="media_items" db=4.6ms idle=11.8ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 13:02:05.950 [debug] QUERY OK source="media_items" db=0.8ms idle=12.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 13:02:05.952 [debug] QUERY OK source="tasks" db=0.6ms idle=7.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541465, 30, ~U[2026-10-26 18:02:05Z], ~U[2026-10-26 18:02:05Z]] 13:02:05.953 [info] {"args":{"id":30},"id":541415,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":46108691,"event":"job:stop","queue_time":399036,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:02:29.167 [info] {"source":"oban","duration":9440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:44.962 [info] {"args":{"id":52},"id":541463,"meta":{},"system_time":1793037764962639036,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:44.963 [debug] QUERY OK source="sources" db=0.2ms idle=1506.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:02:44.963 [debug] QUERY OK source="settings" db=0.1ms idle=1009.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:44.963 [debug] QUERY OK source="media_profiles" db=0.1ms idle=506.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] 13:02:44.963 [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 [] 13:02:44.963 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 13:02:45.300 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 13:02:45.301 [debug] QUERY OK source="media_items" db=0.5ms idle=338.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, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 13:02:45.302 [debug] QUERY OK source="media_items" db=0.9ms idle=338.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] 13:02:45.308 [debug] QUERY OK source="tasks" db=1.2ms idle=343.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541466, 1301334, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.312 [debug] QUERY OK source="tasks" db=0.3ms idle=5.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541467, 1301335, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.314 [info] {"args":{"id":1301334},"id":541466,"meta":{},"system_time":1793037765314166790,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:45.314 [info] {"args":{"id":1301335},"id":541467,"meta":{},"system_time":1793037765314207500,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:45.315 [debug] QUERY OK source="media_items" db=0.5ms 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."id" = ?) [1301335] 13:02:45.315 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:45.315 [debug] QUERY OK source="media_items" db=1.0ms 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] 13:02:45.315 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:45.315 [debug] QUERY OK source="sources" db=0.4ms 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] 13:02:45.316 [debug] QUERY OK source="sources" db=0.3ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:02:45.316 [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] 13:02:45.316 [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] 13:02:45.317 [debug] QUERY OK source="media_items" db=1.4ms 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] 13:02:45.318 [debug] QUERY OK source="media_items" db=0.4ms 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] 13:02:45.318 [debug] QUERY OK source="tasks" db=0.2ms idle=1.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541468, 1301347, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.319 [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] 13:02:45.319 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:45.320 [debug] QUERY OK source="media_metadata" db=0.3ms 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] 13:02:45.320 [debug] QUERY OK source="settings" db=0.2ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:45.320 [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] 13:02:45.320 [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 [] 13:02:45.320 [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 [] 13:02:45.321 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:45.321 [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 [] 13:02:45.322 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:45.322 [debug] QUERY OK source="tasks" db=0.1ms idle=1.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541469, 1301392, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.322 [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 [] 13:02:45.323 [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 [] 13:02:45.323 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:45.323 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:45.323 [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/a1/a8/a1a8596b5ac7be710bc903310682d184fae4f3c6969cb0bdbf6d3bd1fc9a6f79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:45.323 [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 [] 13:02:45.323 [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 [] 13:02:45.323 [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/a8/00/a800d9d7ace252eeb7aff7c6276d08832c651a1637d8ff9cdbd884e0fd3de3fa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:45.326 [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" [541470, 1301393, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.330 [debug] QUERY OK source="tasks" db=0.2ms idle=4.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541471, 1301394, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.332 [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" [541472, 1301395, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.336 [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" [541473, 1301397, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.338 [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" [541474, 1301398, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.341 [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" [541475, 1301399, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.344 [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" [541476, 1301400, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.347 [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" [541477, 2720968, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.349 [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" [541478, 3440530, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.352 [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" [541479, 3675707, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.353 [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" [541480, 52, ~U[2026-10-26 18:02:45Z], ~U[2026-10-26 18:02:45Z]] 13:02:45.354 [info] {"args":{"id":52},"id":541463,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":391181,"event":"job:stop","queue_time":224351,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:47.166 [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/a8/00/a800d9d7ace252eeb7aff7c6276d08832c651a1637d8ff9cdbd884e0fd3de3fa.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. 13:02:47.166 [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" 13:02:47.166 [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" 13:02:47.166 [info] {"args":{"id":1301334},"id":541466,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1852120,"event":"job:stop","queue_time":312728,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:47.173 [info] {"args":{"id":1301347},"id":541468,"meta":{},"system_time":1793037767173186500,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:47.173 [debug] QUERY OK source="media_items" db=0.2ms idle=716.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" = ?) [1301347] 13:02:47.173 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:47.174 [debug] QUERY OK source="sources" db=0.1ms idle=717.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:02:47.174 [debug] QUERY OK source="media_profiles" db=0.1ms idle=215.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:47.174 [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] 13:02:47.176 [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" = ?) [1301347] 13:02:47.176 [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] 13:02:47.177 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:47.177 [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 [] 13:02:47.177 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:47.179 [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 [] 13:02:47.179 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:47.179 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:47.179 [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/ea/bb/eabb386c7610b09d8c0f115f498fb71c1c752bcce6eb4d93f91f5e9542ae1d62.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:47.262 [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/a1/a8/a1a8596b5ac7be710bc903310682d184fae4f3c6969cb0bdbf6d3bd1fc9a6f79.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. 13:02:47.262 [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" 13:02:47.262 [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" 13:02:47.262 [info] {"args":{"id":1301335},"id":541467,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1948347,"event":"job:stop","queue_time":312728,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:47.269 [info] {"args":{"id":1301392},"id":541469,"meta":{},"system_time":1793037767269087158,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:47.269 [debug] QUERY OK source="media_items" db=0.1ms idle=90.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] 13:02:47.269 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:47.269 [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" = ?) [52] 13:02:47.270 [debug] QUERY OK source="media_profiles" db=0.1ms idle=90.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] 13:02:47.270 [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 [1301392] 13:02:47.277 [debug] QUERY OK source="media_metadata" db=0.1ms idle=8.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" = ?) [1301392] 13:02:47.278 [debug] QUERY OK source="media_profiles" db=0.0ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:47.278 [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 [] 13:02:47.278 [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 [] 13:02:47.278 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:47.279 [debug] QUERY OK source="settings" db=0.1ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:47.279 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:47.279 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:47.280 [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/83/ff/83ffce5fbbf1bd99f5578f5696515c5ad3336f1fdaffa817983922840f9e6ca1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:49.206 [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/83/ff/83ffce5fbbf1bd99f5578f5696515c5ad3336f1fdaffa817983922840f9e6ca1.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. 13:02:49.206 [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" 13:02:49.207 [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" 13:02:49.207 [info] {"args":{"id":1301392},"id":541469,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1938101,"event":"job:stop","queue_time":2268565,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:49.214 [info] {"args":{"id":1301393},"id":541470,"meta":{},"system_time":1793037769214268486,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:49.214 [debug] QUERY OK source="media_items" db=0.1ms idle=757.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" = ?) [1301393] 13:02:49.214 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:49.215 [debug] QUERY OK source="sources" db=0.1ms idle=758.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:02:49.215 [debug] QUERY OK source="media_profiles" db=0.1ms idle=254.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:49.215 [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 [1301393] 13:02:49.217 [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] 13:02:49.217 [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] 13:02:49.218 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:49.218 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:49.218 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:49.220 [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 [] 13:02:49.220 [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 [] 13:02:49.220 [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 [] 13:02:49.220 [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/3d/67/3d67d13eb247a8168dc3a5103fe4d24bcb1a042950fc7a9ee5d65014f3557042.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:49.891 [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/ea/bb/eabb386c7610b09d8c0f115f498fb71c1c752bcce6eb4d93f91f5e9542ae1d62.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. 13:02:49.891 [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" 13:02:49.891 [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" 13:02:49.892 [info] {"args":{"id":1301347},"id":541468,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2718583,"event":"job:stop","queue_time":2172512,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:49.898 [info] {"args":{"id":1301394},"id":541471,"meta":{},"system_time":1793037769898128239,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:49.898 [debug] QUERY OK source="media_items" db=0.1ms idle=678.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] 13:02:49.898 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:49.899 [debug] QUERY OK source="sources" db=0.1ms idle=678.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:02:49.899 [debug] QUERY OK source="media_profiles" db=0.1ms idle=678.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:49.899 [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 [1301394] 13:02:49.901 [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" = ?) [1301394] 13:02:49.901 [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] 13:02:49.901 [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 [] 13:02:49.902 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:49.902 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:49.903 [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 [] 13:02:49.903 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:49.903 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:49.903 [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/dd/93/dd93492091dfd54f2a833353c5a4d2c3867f40f39fcf25c92531794e7a4b6319.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:51.806 [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/3d/67/3d67d13eb247a8168dc3a5103fe4d24bcb1a042950fc7a9ee5d65014f3557042.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. 13:02:51.806 [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" 13:02:51.806 [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" 13:02:51.807 [info] {"args":{"id":1301393},"id":541470,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2592647,"event":"job:stop","queue_time":4213519,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:51.813 [info] {"args":{"id":1301395},"id":541472,"meta":{},"system_time":1793037771813365592,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:51.813 [debug] QUERY OK source="media_items" db=0.2ms idle=357.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" = ?) [1301395] 13:02:51.814 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:51.814 [debug] QUERY OK source="sources" db=0.1ms idle=357.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:02:51.814 [debug] QUERY OK source="media_profiles" db=0.1ms idle=357.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] 13:02:51.814 [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 [1301395] 13:02:51.816 [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" = ?) [1301395] 13:02:51.816 [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] 13:02:51.817 [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 [] 13:02:51.817 [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 [] 13:02:51.817 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:51.819 [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 [] 13:02:51.819 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:51.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 [] 13:02:51.819 [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/aa/4c/aa4cecb1a6b69fa91338cf7b1557508159c83557c89d0c44745b7f0c169a10d4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:51.946 [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/dd/93/dd93492091dfd54f2a833353c5a4d2c3867f40f39fcf25c92531794e7a4b6319.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. 13:02:51.946 [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" 13:02:51.946 [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" 13:02:51.946 [info] {"args":{"id":1301394},"id":541471,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2048252,"event":"job:stop","queue_time":4897558,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:51.953 [info] {"args":{"id":1301397},"id":541473,"meta":{},"system_time":1793037771953109581,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:51.953 [debug] QUERY OK source="media_items" db=0.1ms idle=133.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] 13:02:51.953 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:51.953 [debug] QUERY OK source="sources" db=0.1ms idle=134.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:02:51.954 [debug] QUERY OK source="media_profiles" db=0.1ms idle=134.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:51.954 [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] 13:02:51.955 [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] 13:02:51.955 [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] 13:02:51.955 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:51.956 [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 [] 13:02:51.956 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:51.957 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:51.957 [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 [] 13:02:51.957 [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 [] 13:02:51.957 [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/56/58/56583d6e56007274a370accf8596211a98e82fef2144217cfc427bb9c5b31631.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:53.758 [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/aa/4c/aa4cecb1a6b69fa91338cf7b1557508159c83557c89d0c44745b7f0c169a10d4.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. 13:02:53.758 [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" 13:02:53.758 [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" 13:02:53.759 [info] {"args":{"id":1301395},"id":541472,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1945546,"event":"job:stop","queue_time":6812561,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:53.765 [info] {"args":{"id":1301398},"id":541474,"meta":{},"system_time":1793037773765199533,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:53.765 [debug] QUERY OK source="media_items" db=0.1ms idle=308.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] 13:02:53.765 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:53.766 [debug] QUERY OK source="sources" db=0.1ms idle=309.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:02:53.766 [debug] QUERY OK source="media_profiles" db=0.1ms idle=309.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:53.766 [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 [1301398] 13:02:53.767 [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] 13:02:53.768 [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] 13:02:53.768 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:53.768 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:53.768 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:53.769 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:53.769 [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 [] 13:02:53.769 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:53.770 [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/cd/ed/cdedc1230e89b0a3481f1c3a431c29e90ed51da9eea65ae60e3c12665ffe8c62.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:54.124 [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/56/58/56583d6e56007274a370accf8596211a98e82fef2144217cfc427bb9c5b31631.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. 13:02:54.124 [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" 13:02:54.124 [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" 13:02:54.124 [info] {"args":{"id":1301397},"id":541473,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2171407,"event":"job:stop","queue_time":6952559,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:54.131 [info] {"args":{"id":1301399},"id":541475,"meta":{},"system_time":1793037774131191357,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:54.131 [debug] QUERY OK source="media_items" db=0.1ms idle=361.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] 13:02:54.131 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:54.132 [debug] QUERY OK source="sources" db=0.1ms idle=361.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:02:54.132 [debug] QUERY OK source="media_profiles" db=0.1ms idle=164.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:54.132 [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] 13:02:54.133 [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] 13:02:54.133 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:54.134 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:54.134 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:54.134 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:54.135 [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 [] 13:02:54.136 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:54.136 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:54.136 [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/e6/b1/e6b110e9d9fe2dd771d914c273d1f5037d5f87d9883c4ceb3982341c170a965a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:55.844 [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/cd/ed/cdedc1230e89b0a3481f1c3a431c29e90ed51da9eea65ae60e3c12665ffe8c62.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. 13:02:55.844 [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" 13:02:55.844 [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" 13:02:55.845 [info] {"args":{"id":1301398},"id":541474,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2079466,"event":"job:stop","queue_time":8764567,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:55.851 [info] {"args":{"id":1301400},"id":541476,"meta":{},"system_time":1793037775851316443,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:55.851 [debug] QUERY OK source="media_items" db=0.2ms idle=394.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] 13:02:55.851 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:55.852 [debug] QUERY OK source="sources" db=0.1ms idle=395.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:02:55.852 [debug] QUERY OK source="media_profiles" db=0.1ms idle=395.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:55.852 [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] 13:02:55.854 [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] 13:02:55.854 [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] 13:02:55.854 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:55.854 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:55.855 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:55.855 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:55.855 [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 [] 13:02:55.856 [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 [] 13:02:55.856 [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/79/f0/79f09dff1088805a77dfb8343e9222ea6ffe66b1e1cc4654d59f58bbebcd4758.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:55.955 [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/e6/b1/e6b110e9d9fe2dd771d914c273d1f5037d5f87d9883c4ceb3982341c170a965a.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. 13:02:55.955 [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" 13:02:55.956 [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" 13:02:55.956 [info] {"args":{"id":1301399},"id":541475,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1824954,"event":"job:stop","queue_time":9130527,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:55.963 [info] {"args":{"id":2720968},"id":541477,"meta":{},"system_time":1793037775963077050,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:55.963 [debug] QUERY OK source="media_items" db=0.1ms idle=107.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] 13:02:55.963 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:55.963 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [52] 13:02:55.964 [debug] QUERY OK source="media_profiles" db=0.1ms idle=107.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] 13:02:55.964 [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] 13:02:55.965 [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" = ?) [2720968] 13:02:55.965 [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] 13:02:55.965 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:55.966 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:55.966 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:55.966 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:55.967 [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 [] 13:02:55.967 [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 [] 13:02:55.967 [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/08/4e/084ec17d0d6c34f61e92c3c679d5c03f6a86609870caec14eada742622500933.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:57.767 [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/79/f0/79f09dff1088805a77dfb8343e9222ea6ffe66b1e1cc4654d59f58bbebcd4758.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. 13:02:57.767 [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" 13:02:57.767 [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" 13:02:57.767 [info] {"args":{"id":1301400},"id":541476,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1915950,"event":"job:stop","queue_time":10850585,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:57.774 [info] {"args":{"id":3440530},"id":541478,"meta":{},"system_time":1793037777774586004,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:57.775 [debug] QUERY OK source="media_items" db=0.1ms idle=318.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" = ?) [3440530] 13:02:57.775 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:57.775 [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] 13:02:57.775 [debug] QUERY OK source="media_profiles" db=0.1ms idle=318.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:57.776 [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 [3440530] 13:02:57.776 [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" = ?) [3440530] 13:02:57.776 [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] 13:02:57.776 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.776 [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 [] 13:02:57.776 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:57.779 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.779 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.779 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.779 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/bc/97bcbe0034f4f2b2b6e800403b237036cff49ee0816d2b0a3631c94b096dd1ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:57.893 [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/08/4e/084ec17d0d6c34f61e92c3c679d5c03f6a86609870caec14eada742622500933.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. 13:02:57.894 [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" 13:02:57.894 [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" 13:02:57.894 [info] {"args":{"id":2720968},"id":541477,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1931218,"event":"job:stop","queue_time":10962559,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:57.901 [info] {"args":{"id":3675707},"id":541479,"meta":{},"system_time":1793037777901189423,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:57.901 [debug] QUERY OK source="media_items" db=0.2ms idle=122.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" = ?) [3675707] 13:02:57.901 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:02:57.902 [debug] QUERY OK source="sources" db=0.1ms idle=122.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:02:57.902 [debug] QUERY OK source="media_profiles" db=0.1ms idle=122.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] 13:02:57.902 [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 [3675707] 13:02:57.903 [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" = ?) [3675707] 13:02:57.903 [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] 13:02:57.904 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.904 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.904 [debug] Running yt-dlp command for action: get_downloadable_status 13:02:57.905 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.905 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.905 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.905 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/da/4a/da4a22a1fc8e3fa5ecb50e99b9e077c30d2b5696fd272317432a49b8cc8831b5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:02:57.979 [info] {"args":{"id":51},"id":541464,"meta":{},"system_time":1793037777979332546,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:57.979 [debug] QUERY OK source="sources" db=0.1ms idle=74.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:02:57.980 [debug] QUERY OK source="settings" db=0.1ms idle=74.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.980 [debug] QUERY OK source="media_profiles" db=0.1ms idle=74.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:02:57.980 [debug] QUERY OK source="settings" db=0.1ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.980 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 13:02:58.131 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 13:02:58.132 [debug] QUERY OK source="media_items" db=0.5ms idle=152.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, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 13:02:58.133 [debug] QUERY OK source="media_items" db=0.5ms idle=152.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] 13:02:58.134 [debug] QUERY OK source="tasks" db=0.3ms idle=153.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541481, 51, ~U[2026-10-26 18:02:58Z], ~U[2026-10-26 18:02:58Z]] 13:02:58.134 [info] {"args":{"id":51},"id":541464,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":155156,"event":"job:stop","queue_time":550523,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:59.177 [info] {"source":"oban","duration":9932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:59.680 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/da/4a/da4a22a1fc8e3fa5ecb50e99b9e077c30d2b5696fd272317432a49b8cc8831b5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 13:02:59.680 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:02:59.680 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:02:59.680 [info] {"args":{"id":3675707},"id":541479,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1779356,"event":"job:stop","queue_time":12900557,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:02:59.768 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/97/bc/97bcbe0034f4f2b2b6e800403b237036cff49ee0816d2b0a3631c94b096dd1ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 13:02:59.768 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:02:59.768 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:02:59.769 [info] {"args":{"id":3440530},"id":541478,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1994080,"event":"job:stop","queue_time":12773619,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:03:00.217 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:03:15.000 [info] {"args":{"id":3751148},"id":541412,"meta":{},"system_time":1793037795000416583,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:03:15.000 [debug] QUERY OK source="media_items" db=0.2ms idle=1544.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" = ?) [3751148] 13:03:15.001 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:03:15.001 [debug] QUERY OK source="sources" db=0.1ms idle=1544.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:03:15.001 [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] 13:03:15.002 [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 [3751148] 13:03:15.004 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [3751148] 13:03:15.004 [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] 13:03:15.005 [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 [] 13:03:15.005 [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 [] 13:03:15.005 [debug] Running yt-dlp command for action: get_downloadable_status 13:03:15.006 [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 [] 13:03:15.006 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:03:15.007 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:03:15.007 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kWAlTuJgMTI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/92/d9/92d95cbcfa9c948f9e616764e81eeea9a9f150e413f18712dae51e89db7db3a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:03:16.799 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kWAlTuJgMTI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/92/d9/92d95cbcfa9c948f9e616764e81eeea9a9f150e413f18712dae51e89db7db3a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] kWAlTuJgMTI: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:03:16.799 [error] yt-dlp download error for media item #3751148: "ERROR: [youtube] kWAlTuJgMTI: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:03:16.800 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3751148},"id":541412,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1799285,"event":"job:exception","queue_time":476426,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:03:29.186 [info] {"source":"oban","duration":7480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:59.196 [info] {"source":"oban","duration":9771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.218 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:04:29.203 [info] {"source":"oban","duration":7151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:04:59.210 [info] {"source":"oban","duration":5811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.219 [info] {"source":"oban","duration":140,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:05:14.139 [info] {"args":{"id":46},"id":541378,"meta":{},"system_time":1793037914139133145,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:05:14.139 [debug] QUERY OK source="sources" db=0.1ms idle=1682.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 13:05:14.139 [debug] QUERY OK source="settings" db=0.1ms idle=1007.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:14.140 [debug] QUERY OK source="media_items" db=0.9ms idle=683.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] 13:05:14.141 [debug] QUERY OK source="media_items" db=0.1ms idle=7.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [46] 13:05:14.141 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:05:14.141 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:14.141 [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 [] 13:05:14.142 [debug] QUERY OK source="media_items" db=0.7ms 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."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [46] 13:05:14.144 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:05:14.144 [debug] Current batch of media processed. Will check again in 1000ms 13:05:14.144 [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 [] 13:05:14.145 [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 [] 13:05:14.145 [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 [] 13:05:14.145 [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/a3/f1/a3f1fa6c92dbf58f4685a6346f87aeb50e55ab3d0c0b1bcd39b335f2527e620f.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5c/dc/5cdc86295e3135d81b1cde5c4ee0d0e3568531046042ed01fe2cd0bd033d52bf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:05:15.145 [debug] Current batch of media processed. Will check again in 1000ms 13:05:16.146 [debug] Current batch of media processed. Will check again in 1000ms 13:05:17.147 [debug] Current batch of media processed. Will check again in 1000ms 13:05:18.148 [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" => 1, "timestamp" => 1772314079, "title" => "Linux / FOSS are irrelevant in the future", "upload_date" => "20260228"} 13:05:18.149 [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 (?)) [46] 13:05:18.149 [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" = ?) [46] 13:05:18.150 [debug] QUERY OK source="media_items" db=0.4ms 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-02-28 21:27:59Z], 46] 13:05:18.156 [debug] QUERY OK source="media_items" db=6.1ms idle=693.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" ["Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Linux / FOSS are irrelevant in the future", "6998420b-dd49-407b-af81-fb569646ba19", "fLmIRC8R19s", 549, false, "https://www.youtube.com/watch?v=fLmIRC8R19s", 1, "/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-10-26 18:05:18Z], ~U[2026-10-26 18:05: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]] 13:05:18.157 [debug] QUERY OK source="sources" db=0.3ms idle=19.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 13:05:18.157 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:05:18.157 [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 [2377781] 13:05:18.157 [debug] Current batch of media processed. Will check again in 1000ms 13:05:19.158 [debug] Current batch of media processed. Will check again in 1000ms 13:05:20.159 [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" => 2, "timestamp" => 1772097703, "title" => "HOST FREE from home (no tunnel, no VPS, no Static IP)", "upload_date" => "20260226"} 13:05:20.160 [debug] QUERY OK source="sources" db=0.2ms idle=703.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:05:20.160 [debug] QUERY OK source="sources" db=0.1ms idle=703.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 13:05:20.161 [debug] QUERY OK source="media_items" db=0.4ms idle=704.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 09:21:43Z], 46] 13:05:20.162 [debug] QUERY OK source="media_items" db=1.1ms idle=704.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)", "8a8de137-a346-4adf-90d0-b1eea3402dfc", "7y60xBovdnI", 507, false, "https://www.youtube.com/watch?v=7y60xBovdnI", 2, "/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-10-26 18:05:20Z], ~U[2026-10-26 18:05:20Z], "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]] 13:05:20.162 [debug] QUERY OK source="sources" db=0.1ms idle=23.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 13:05:20.163 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:05:20.163 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2358266] 13:05:20.163 [debug] Current batch of media processed. Will check again in 1000ms 13:05:21.164 [debug] Current batch of media processed. Will check again in 1000ms 13:05:22.165 [debug] Current batch of media processed. Will check again in 1000ms 13:05:23.166 [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" => 3, "timestamp" => 1771588269, "title" => "MacOS *float vs Hyprland *tile", "upload_date" => "20260220"} 13:05:23.167 [debug] QUERY OK source="sources" db=0.1ms idle=1710.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:05:23.167 [debug] QUERY OK source="sources" db=0.1ms idle=1710.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 13:05:23.168 [debug] QUERY OK source="media_items" db=0.4ms idle=1710.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] 13:05:23.168 [debug] QUERY OK source="media_items" db=0.7ms idle=1026.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", "MacOS *float vs Hyprland *tile", "2ceb35c7-f188-437d-a736-7dbf4c2a46bb", "LrOuqMzKdAE", 684, false, "https://www.youtube.com/watch?v=LrOuqMzKdAE", 3, "/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-10-26 18:05:23Z], ~U[2026-10-26 18:05:23Z], "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]] 13:05:23.169 [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" = ?) [46] 13:05:23.169 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:05:23.169 [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 [2312061] 13:05:23.169 [debug] Current batch of media processed. Will check again in 1000ms 13:05:24.170 [debug] Current batch of media processed. Will check again in 1000ms 13:05:24.413 [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/a3/f1/a3f1fa6c92dbf58f4685a6346f87aeb50e55ab3d0c0b1bcd39b335f2527e620f.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5c/dc/5cdc86295e3135d81b1cde5c4ee0d0e3568531046042ed01fe2cd0bd033d52bf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:05:24.413 [debug] Gracefully stopping file follower 13:05:24.414 [debug] QUERY OK source="sources" db=0.2ms idle=1245.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:05:24.414 [debug] QUERY OK source="sources" db=0.1ms idle=1245.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 13:05:24.415 [debug] QUERY OK source="media_items" db=0.5ms idle=1245.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-28 21:27:59Z], 46] 13:05:24.416 [debug] QUERY OK source="media_items" db=0.6ms idle=1245.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" ["Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Linux / FOSS are irrelevant in the future", "5ecc0654-0bc8-4e3d-aa11-792ba58c8513", "fLmIRC8R19s", 549, false, "https://www.youtube.com/watch?v=fLmIRC8R19s", 1, "/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-10-26 18:05:24Z], ~U[2026-10-26 18:05:24Z], "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]] 13:05:24.416 [debug] QUERY OK source="sources" db=0.1ms idle=273.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 13:05:24.417 [debug] QUERY OK source="media_items" db=0.5ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 09:21:43Z], 46] 13:05:24.418 [debug] QUERY OK source="media_items" db=0.6ms idle=2.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)", "a18f0cba-e3cb-4c2b-b712-a8eb078f142d", "7y60xBovdnI", 507, false, "https://www.youtube.com/watch?v=7y60xBovdnI", 2, "/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-10-26 18:05:24Z], ~U[2026-10-26 18:05:24Z], "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]] 13:05:24.418 [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" = ?) [46] 13:05:24.419 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-20 11:51:09Z], 46] 13:05:24.420 [debug] QUERY OK source="media_items" db=0.6ms idle=2.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", "MacOS *float vs Hyprland *tile", "b124b034-d85c-4ec3-bb3d-470a02965e3a", "LrOuqMzKdAE", 684, false, "https://www.youtube.com/watch?v=LrOuqMzKdAE", 3, "/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-10-26 18:05:24Z], ~U[2026-10-26 18:05:24Z], "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]] 13:05:24.420 [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" = ?) [46] 13:05:24.420 [debug] QUERY OK source="media_items" db=0.5ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-11 23:25:59Z], 46] 13:05:24.428 [debug] QUERY OK source="media_items" db=7.3ms idle=2.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", "Why developers fail earning $$$ (independently) ?", "be0465f7-8ee3-4e4e-b19d-3e4f5267a90f", "giQ_7l5p2Kg", 727, false, "https://www.youtube.com/watch?v=giQ_7l5p2Kg", 4, "/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-10-26 18:05:24Z], ~U[2026-10-26 18:05:24Z], "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]] 13:05:24.429 [debug] QUERY OK source="sources" db=0.2ms idle=9.6ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 18:05:24Z], ~U[2026-10-26 18:05:24Z], 46] 13:05:24.429 [debug] QUERY OK source="media_items" db=0.5ms idle=9.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [46] 13:05:24.430 [debug] QUERY OK source="media_items" db=0.4ms idle=9.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")))) [46] 13:05:24.430 [debug] QUERY OK source="media_items" db=0.2ms idle=9.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [46] 13:05:24.432 [debug] QUERY OK source="tasks" db=0.4ms idle=2.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541482, 46, ~U[2026-10-26 18:05:24Z], ~U[2026-10-26 18:05:24Z]] 13:05:24.433 [info] {"args":{"id":46},"id":541378,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":10293567,"event":"job:stop","queue_time":912450,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:05:29.154 [info] {"args":{"id":3231948},"id":538874,"meta":{},"system_time":1793037929154243153,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":17,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:05:29.154 [debug] QUERY OK source="media_items" db=0.2ms idle=1697.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" = ?) [3231948] 13:05:29.154 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:05:29.155 [debug] QUERY OK source="sources" db=0.1ms idle=1698.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:05:29.155 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1007.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] 13:05:29.155 [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 [3231948] 13:05:29.157 [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" = ?) [3231948] 13:05:29.157 [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] 13:05:29.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 [] 13:05:29.158 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:29.158 [debug] Running yt-dlp command for action: get_downloadable_status 13:05:29.160 [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 [] 13:05:29.160 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:29.160 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:29.160 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WfFe2-Uy2Fo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/77/38770ecf67ff086a42e81d75cd2ecb6e1007a4a9081261ba4b5272700ce4d448.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:05:29.218 [info] {"source":"oban","duration":7461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:30.996 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WfFe2-Uy2Fo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/77/38770ecf67ff086a42e81d75cd2ecb6e1007a4a9081261ba4b5272700ce4d448.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] WfFe2-Uy2Fo: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:05:30.996 [error] yt-dlp download error for media item #3231948: "ERROR: [youtube] WfFe2-Uy2Fo: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:05:30.997 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3231948},"id":538874,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1842545,"event":"job:exception","queue_time":524789,"attempt":17,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:05:59.228 [info] {"source":"oban","duration":9517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.220 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:06:29.233 [info] {"source":"oban","duration":4621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:59.239 [info] {"source":"oban","duration":6280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:07:00.221 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:07:24.291 [info] {"args":{"id":2185407},"id":540975,"meta":{},"system_time":1793038044291892589,"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"]} 13:07:24.292 [debug] QUERY OK source="media_items" db=0.2ms idle=1835.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" = ?) [2185407] 13:07:24.292 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:07:24.292 [debug] QUERY OK source="sources" db=0.2ms idle=1009.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:07:24.293 [debug] QUERY OK source="media_profiles" db=0.2ms idle=836.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:07:24.294 [debug] QUERY OK source="media_items" db=0.8ms 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 [2185407] 13:07:24.296 [debug] QUERY OK source="media_metadata" db=0.8ms 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" = ?) [2185407] 13:07:24.296 [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] 13:07:24.297 [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 [] 13:07:24.297 [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 [] 13:07:24.297 [debug] Running yt-dlp command for action: get_downloadable_status 13:07:24.299 [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 [] 13:07:24.299 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:24.299 [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 [] 13:07:24.300 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qIZjs93LMxY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/74/3a/743a2b19d33017f6b5f522c92bc853ea1c5812f4476a3eace4a7345c966aaf52.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:07:26.241 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qIZjs93LMxY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/74/3a/743a2b19d33017f6b5f522c92bc853ea1c5812f4476a3eace4a7345c966aaf52.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] qIZjs93LMxY: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:07:26.241 [error] yt-dlp download error for media item #2185407: "ERROR: [youtube] qIZjs93LMxY: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:07:26.242 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2185407},"id":540975,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1950123,"event":"job:exception","queue_time":789770,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:07:29.250 [info] {"source":"oban","duration":9613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:59.261 [info] {"source":"oban","duration":10633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:08:00.222 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:08:29.270 [info] {"source":"oban","duration":9141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:59.281 [info] {"source":"oban","duration":9843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:09:00.223 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:09:14.428 [info] {"args":{"id":37},"id":541379,"meta":{},"system_time":1793038154428246218,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:09:14.428 [debug] QUERY OK source="sources" db=0.1ms idle=1007.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:09:14.428 [debug] QUERY OK source="settings" db=0.1ms idle=972.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:09:14.431 [debug] QUERY OK source="media_items" db=2.4ms idle=972.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] 13:09:14.432 [debug] QUERY OK source="media_items" db=0.6ms idle=9.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [37] 13:09:14.432 [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] 13:09:14.432 [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 [] 13:09:14.433 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:09:14.436 [debug] QUERY OK source="media_items" db=2.5ms 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 [37] 13:09:14.438 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:09:14.438 [debug] Current batch of media processed. Will check again in 1000ms 13:09:14.438 [debug] QUERY OK source="settings" db=0.1ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:09:14.438 [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 [] 13:09:14.438 [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 [] 13:09:14.438 [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/a7/65/a76576d364b6b142f6c3abfe9f0f26f13b52df87b24ec58c2182258df2173d9a.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/98/4d/984d7fb52f8625beeca1612d38493617b22828547c21544f147ac1eda8ecdc4d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:09:15.438 [debug] Current batch of media processed. Will check again in 1000ms 13:09:16.439 [debug] Current batch of media processed. Will check again in 1000ms 13:09:17.440 [debug] Current batch of media processed. Will check again in 1000ms 13:09:18.441 [debug] Current batch of media processed. Will check again in 1000ms 13:09:19.442 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "[Sponsor]\nGood morning! And in case we don't see ya, good afternoon, good evening, and good coffee! → ssh terminal.shop\n\nFull Episode:\nYoutube: https://youtu.be/Aw5rcawuxDQ\nSpotify: https://open.spotify.com/episode/5o8f1oGoPyfIKJPVL4PW9c\n\n[Description]\nThe number 4 is holding up the internet, HTTPS might be bad design, PHP is cooked, and Casey is addicted to Pokémon. The crew also ranks programming's most famous laws, from Conway and Brooks to Goodhart and Hofstadter, before inventing a few laws of their own.\n\n[Chapters]\n00:00:00 - Tier listing Programming Laws\n00:00:46 - Conway\n00:06:16 - Brooks\n00:13:54 - Mooers\n00:18:35 - Eagleson\n00:21:58 - Linus\n00:29:06 - Wirth\n00:30:45 - Cunningham\n00:35:06 - Goodhart\n00:46:59 - Hyrum\n00:48:16 - Hofstadter\n00:50:08 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Trash Dev, Casey Muratori, programming, software engineering, programming laws, Conway's Law, Brooks's Law, Goodhart's Law, Linus's Law, Hyrum's Law, Hofstadter's Law, Cunningham's Law, PHP, HTTPS, SSL certificates, certificate authority, eMudhra, cybersecurity, programming humor, developer podcast, software development, coding, tech podcast, Pokémon", "duration" => 3035, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102500_Programming Laws Tier list | TheStandup.mp4", "id" => "Bye5avxGMKM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Bye5avxGMKM", "playlist_index" => 1, "timestamp" => 1792933213, "title" => "Programming Laws Tier list | TheStandup", "upload_date" => "20261025"} 13:09:19.443 [debug] QUERY OK source="sources" db=0.2ms idle=1986.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:09:19.443 [debug] QUERY OK source="sources" db=0.2ms idle=1986.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:09:19.447 [debug] QUERY OK source="media_items" db=3.0ms idle=1987.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-25 13:00:13Z], 37] 13:09:19.448 [debug] QUERY OK source="media_items" db=1.2ms 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" ["[Sponsor]\nGood morning! And in case we don't see ya, good afternoon, good evening, and good coffee! → ssh terminal.shop\n\nFull Episode:\nYoutube: https://youtu.be/Aw5rcawuxDQ\nSpotify: https://open.spotify.com/episode/5o8f1oGoPyfIKJPVL4PW9c\n\n[Description]\nThe number 4 is holding up the internet, HTTPS might be bad design, PHP is cooked, and Casey is addicted to Pokémon. The crew also ranks programming's most famous laws, from Conway and Brooks to Goodhart and Hofstadter, before inventing a few laws of their own.\n\n[Chapters]\n00:00:00 - Tier listing Programming Laws\n00:00:46 - Conway\n00:06:16 - Brooks\n00:13:54 - Mooers\n00:18:35 - Eagleson\n00:21:58 - Linus\n00:29:06 - Wirth\n00:30:45 - Cunningham\n00:35:06 - Goodhart\n00:46:59 - Hyrum\n00:48:16 - Hofstadter\n00:50:08 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Trash Dev, Casey Muratori, programming, software engineering, programming laws, Conway's Law, Brooks's Law, Goodhart's Law, Linus's Law, Hyrum's Law, Hofstadter's Law, Cunningham's Law, PHP, HTTPS, SSL certificates, certificate authority, eMudhra, cybersecurity, programming humor, developer podcast, software development, coding, tech podcast, Pokémon", "Programming Laws Tier list | TheStandup", "90f4a127-7290-4986-9be9-6da3037a4c44", "Bye5avxGMKM", 3035, false, "https://www.youtube.com/watch?v=Bye5avxGMKM", 1, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102500_Programming Laws Tier list | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-10-25 13:00:13Z], ~U[2026-10-26 18:09:19Z], ~U[2026-10-26 18:09:19Z], "[Sponsor]\nGood morning! And in case we don't see ya, good afternoon, good evening, and good coffee! → ssh terminal.shop\n\nFull Episode:\nYoutube: https://youtu.be/Aw5rcawuxDQ\nSpotify: https://open.spotify.com/episode/5o8f1oGoPyfIKJPVL4PW9c\n\n[Description]\nThe number 4 is holding up the internet, HTTPS might be bad design, PHP is cooked, and Casey is addicted to Pokémon. The crew also ranks programming's most famous laws, from Conway and Brooks to Goodhart and Hofstadter, before inventing a few laws of their own.\n\n[Chapters]\n00:00:00 - Tier listing Programming Laws\n00:00:46 - Conway\n00:06:16 - Brooks\n00:13:54 - Mooers\n00:18:35 - Eagleson\n00:21:58 - Linus\n00:29:06 - Wirth\n00:30:45 - Cunningham\n00:35:06 - Goodhart\n00:46:59 - Hyrum\n00:48:16 - Hofstadter\n00:50:08 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Trash Dev, Casey Muratori, programming, software engineering, programming laws, Conway's Law, Brooks's Law, Goodhart's Law, Linus's Law, Hyrum's Law, Hofstadter's Law, Cunningham's Law, PHP, HTTPS, SSL certificates, certificate authority, eMudhra, cybersecurity, programming humor, developer podcast, software development, coding, tech podcast, Pokémon", "Programming Laws Tier list | TheStandup", "Bye5avxGMKM", 3035, false, "https://www.youtube.com/watch?v=Bye5avxGMKM", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102500_Programming Laws Tier list | TheStandup.mp4", false, 37, ~U[2026-10-25 13:00:13Z]] 13:09:19.449 [debug] QUERY OK source="sources" db=0.5ms idle=19.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:09:19.449 [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] 13:09:19.450 [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 [4237386] 13:09:19.450 [debug] Current batch of media processed. Will check again in 1000ms 13:09:20.451 [debug] Current batch of media processed. Will check again in 1000ms 13:09:21.452 [debug] Current batch of media processed. Will check again in 1000ms 13:09:22.453 [debug] Current batch of media processed. Will check again in 1000ms 13:09:23.454 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://www.anthropic.com/threat-intelligence-report-september-2026\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" => 771, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102400_OpenCode got hacked.mp4", "id" => "9OahTki4cPA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9OahTki4cPA", "playlist_index" => 2, "timestamp" => 1792810737, "title" => "OpenCode got hacked", "upload_date" => "20261024"} 13:09:23.455 [debug] QUERY OK source="sources" db=0.2ms idle=998.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:09:23.455 [debug] QUERY OK source="sources" db=0.2ms idle=999.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:09:23.459 [debug] QUERY OK source="media_items" db=3.2ms idle=999.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 02:58:57Z], 37] 13:09:23.461 [debug] QUERY OK source="media_items" db=1.5ms 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" ["Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://www.anthropic.com/threat-intelligence-report-september-2026\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", "OpenCode got hacked", "60531ca5-7294-4f50-af3a-3928d2832546", "9OahTki4cPA", 771, false, "https://www.youtube.com/watch?v=9OahTki4cPA", 2, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102400_OpenCode got hacked.mp4", false, false, false, 37, [], 98, ~U[2026-10-24 02:58:57Z], ~U[2026-10-26 18:09:23Z], ~U[2026-10-26 18:09:23Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://www.anthropic.com/threat-intelligence-report-september-2026\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", "OpenCode got hacked", "9OahTki4cPA", 771, false, "https://www.youtube.com/watch?v=9OahTki4cPA", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102400_OpenCode got hacked.mp4", false, 37, ~U[2026-10-24 02:58:57Z]] 13:09:23.461 [debug] QUERY OK source="sources" db=0.1ms idle=25.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:09:23.462 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:09:23.462 [debug] QUERY OK source="media_items" db=0.2ms 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 [4226614] 13:09:23.462 [debug] Current batch of media processed. Will check again in 1000ms 13:09:24.463 [debug] Current batch of media processed. Will check again in 1000ms 13:09:25.464 [debug] Current batch of media processed. Will check again in 1000ms 13:09:26.465 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I forget everything. Grok Bot doesn't. It runs my calendar, my reminders, and my to-do list. And my wife is happier. Try Grok Bot: https://trm.sh/bot\n\nSources:\n\n- https://x.com/markjaquith/status/2112700200829759970\n- https://x.com/hd_nvim/status/2112943574320820401\n- https://x.com/otomir23/status/2112697830687047918\n- https://fenko.nz/blog/emudhra-ca-compromise/?utm_source=chatgpt.com\n- https://emudhra.we-have-a-problem.com/?utm_source=chatgpt.com#macos-curl\n\nTopics Covered:\n\n- The eMudhra Hack\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" => 511, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102200_There Is No Way This Is Real.mp4", "id" => "O905JwSgoi4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=O905JwSgoi4", "playlist_index" => 3, "timestamp" => 1792672967, "title" => "There Is No Way This Is Real", "upload_date" => "20261022"} 13:09:26.466 [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" IN (?)) [37] 13:09:26.466 [debug] QUERY OK source="sources" db=0.1ms idle=1009.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:09:26.469 [debug] QUERY OK source="media_items" db=2.3ms idle=1010.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 12:42:47Z], 37] 13:09:26.471 [debug] QUERY OK source="media_items" db=1.5ms idle=1012.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" ["I forget everything. Grok Bot doesn't. It runs my calendar, my reminders, and my to-do list. And my wife is happier. Try Grok Bot: https://trm.sh/bot\n\nSources:\n\n- https://x.com/markjaquith/status/2112700200829759970\n- https://x.com/hd_nvim/status/2112943574320820401\n- https://x.com/otomir23/status/2112697830687047918\n- https://fenko.nz/blog/emudhra-ca-compromise/?utm_source=chatgpt.com\n- https://emudhra.we-have-a-problem.com/?utm_source=chatgpt.com#macos-curl\n\nTopics Covered:\n\n- The eMudhra Hack\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", "There Is No Way This Is Real", "84d78aa2-c713-41b0-8c94-d4038aadd25a", "O905JwSgoi4", 511, false, "https://www.youtube.com/watch?v=O905JwSgoi4", 3, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102200_There Is No Way This Is Real.mp4", false, false, false, 37, [], 98, ~U[2026-10-22 12:42:47Z], ~U[2026-10-26 18:09:26Z], ~U[2026-10-26 18:09:26Z], "I forget everything. Grok Bot doesn't. It runs my calendar, my reminders, and my to-do list. And my wife is happier. Try Grok Bot: https://trm.sh/bot\n\nSources:\n\n- https://x.com/markjaquith/status/2112700200829759970\n- https://x.com/hd_nvim/status/2112943574320820401\n- https://x.com/otomir23/status/2112697830687047918\n- https://fenko.nz/blog/emudhra-ca-compromise/?utm_source=chatgpt.com\n- https://emudhra.we-have-a-problem.com/?utm_source=chatgpt.com#macos-curl\n\nTopics Covered:\n\n- The eMudhra Hack\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", "There Is No Way This Is Real", "O905JwSgoi4", 511, false, "https://www.youtube.com/watch?v=O905JwSgoi4", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102200_There Is No Way This Is Real.mp4", false, 37, ~U[2026-10-22 12:42:47Z]] 13:09:26.471 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [37] 13:09:26.471 [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] 13:09:26.472 [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 [4211856] 13:09:26.472 [debug] Current batch of media processed. Will check again in 1000ms 13:09:27.472 [debug] Current batch of media processed. Will check again in 1000ms 13:09:28.473 [debug] Current batch of media processed. Will check again in 1000ms 13:09:29.290 [info] {"source":"oban","duration":7521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:09:29.474 [debug] Current batch of media processed. Will check again in 1000ms 13:09:30.475 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/g4KsKFgARC4\nSpotify: https://open.spotify.com/episode/7ySTxLC7MBtG8koIf7gIIh\n\n[Description]\nThe Standup crew puts their detective skills to the test with a quiz about Dream's supposedly \"uncut\" Minecraft Manhunts. Can programmers spot the suspicious edits, hidden clues, and inconsistencies?\n\n[Chapters]\n00:00:00 - Intro\n00:07:13 - Question 1\n00:09:58 - Confession: What Happens During a Lag Spike?\n00:17:56 - Question 2\n00:22:23 - Question 3\n00:25:42 - Question 4\n00:27:49 - Question 5\n00:31:40 - Question 6\n00:37:04 - Ask Casey: When Is Data-Driven Design Worth It?\n00:43:11 - Question 7\n00:49:18 - Matrices\n00:52:27 - Ask Casey: What Should Run on the Wall Clock?\n00:54:59 - Question 8\n00:57:53 - Question 9\n00:59:58 - Jolt Cracker\n01:04:05 - Outro\n\n[Sources]\n@rubyswolf9767 \nhttps://www.youtube.com/watch?v=WsWNWzSwVUA\nhttps://dartjs.com/joltcracker\nhttps://mcsrc.dev/\nhttp://github.com/misode/mcmeta\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Casey Muratori, Trash Dev, Dream, Dream Minecraft, Minecraft, Minecraft Manhunt, Dream Manhunt, Dream cheating, Dream controversy, Fake Minecraft Manhunts, Minecraft cheating, Minecraft investigation, Minecraft drama, programming, programmers, game development, Minecraft game ticks, Minecraft hunger bar, Minecraft quiz, uncut manhunt, DarkSpark", "duration" => 3875, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102100_Programmers vs Dream's Fake Manhunts | TheStandup.mp4", "id" => "y2C0Zpnl6p0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y2C0Zpnl6p0", "playlist_index" => 4, "timestamp" => 1792594837, "title" => "Programmers vs Dream's Fake Manhunts | TheStandup", "upload_date" => "20261021"} 13:09:30.476 [debug] QUERY OK source="sources" db=0.2ms idle=32.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:09:30.476 [debug] QUERY OK source="sources" db=0.3ms idle=19.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:09:30.480 [debug] QUERY OK source="media_items" db=3.1ms idle=20.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 15:00:37Z], 37] 13:09:30.483 [debug] QUERY OK source="media_items" db=2.3ms idle=23.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" ["[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/g4KsKFgARC4\nSpotify: https://open.spotify.com/episode/7ySTxLC7MBtG8koIf7gIIh\n\n[Description]\nThe Standup crew puts their detective skills to the test with a quiz about Dream's supposedly \"uncut\" Minecraft Manhunts. Can programmers spot the suspicious edits, hidden clues, and inconsistencies?\n\n[Chapters]\n00:00:00 - Intro\n00:07:13 - Question 1\n00:09:58 - Confession: What Happens During a Lag Spike?\n00:17:56 - Question 2\n00:22:23 - Question 3\n00:25:42 - Question 4\n00:27:49 - Question 5\n00:31:40 - Question 6\n00:37:04 - Ask Casey: When Is Data-Driven Design Worth It?\n00:43:11 - Question 7\n00:49:18 - Matrices\n00:52:27 - Ask Casey: What Should Run on the Wall Clock?\n00:54:59 - Question 8\n00:57:53 - Question 9\n00:59:58 - Jolt Cracker\n01:04:05 - Outro\n\n[Sources]\n@rubyswolf9767 \nhttps://www.youtube.com/watch?v=WsWNWzSwVUA\nhttps://dartjs.com/joltcracker\nhttps://mcsrc.dev/\nhttp://github.com/misode/mcmeta\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Casey Muratori, Trash Dev, Dream, Dream Minecraft, Minecraft, Minecraft Manhunt, Dream Manhunt, Dream cheating, Dream controversy, Fake Minecraft Manhunts, Minecraft cheating, Minecraft investigation, Minecraft drama, programming, programmers, game development, Minecraft game ticks, Minecraft hunger bar, Minecraft quiz, uncut manhunt, DarkSpark", "Programmers vs Dream's Fake Manhunts | TheStandup", "e39ef327-3b81-4b74-a586-304f2138b50a", "y2C0Zpnl6p0", 3875, false, "https://www.youtube.com/watch?v=y2C0Zpnl6p0", 4, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102100_Programmers vs Dream's Fake Manhunts | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-10-21 15:00:37Z], ~U[2026-10-26 18:09:30Z], ~U[2026-10-26 18:09:30Z], "[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/g4KsKFgARC4\nSpotify: https://open.spotify.com/episode/7ySTxLC7MBtG8koIf7gIIh\n\n[Description]\nThe Standup crew puts their detective skills to the test with a quiz about Dream's supposedly \"uncut\" Minecraft Manhunts. Can programmers spot the suspicious edits, hidden clues, and inconsistencies?\n\n[Chapters]\n00:00:00 - Intro\n00:07:13 - Question 1\n00:09:58 - Confession: What Happens During a Lag Spike?\n00:17:56 - Question 2\n00:22:23 - Question 3\n00:25:42 - Question 4\n00:27:49 - Question 5\n00:31:40 - Question 6\n00:37:04 - Ask Casey: When Is Data-Driven Design Worth It?\n00:43:11 - Question 7\n00:49:18 - Matrices\n00:52:27 - Ask Casey: What Should Run on the Wall Clock?\n00:54:59 - Question 8\n00:57:53 - Question 9\n00:59:58 - Jolt Cracker\n01:04:05 - Outro\n\n[Sources]\n@rubyswolf9767 \nhttps://www.youtube.com/watch?v=WsWNWzSwVUA\nhttps://dartjs.com/joltcracker\nhttps://mcsrc.dev/\nhttp://github.com/misode/mcmeta\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Casey Muratori, Trash Dev, Dream, Dream Minecraft, Minecraft, Minecraft Manhunt, Dream Manhunt, Dream cheating, Dream controversy, Fake Minecraft Manhunts, Minecraft cheating, Minecraft investigation, Minecraft drama, programming, programmers, game development, Minecraft game ticks, Minecraft hunger bar, Minecraft quiz, uncut manhunt, DarkSpark", "Programmers vs Dream's Fake Manhunts | TheStandup", "y2C0Zpnl6p0", 3875, false, "https://www.youtube.com/watch?v=y2C0Zpnl6p0", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102100_Programmers vs Dream's Fake Manhunts | TheStandup.mp4", false, 37, ~U[2026-10-21 15:00:37Z]] 13:09:30.483 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:09:30.484 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:09:30.484 [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 [4206313] 13:09:30.484 [debug] Current batch of media processed. Will check again in 1000ms 13:09:31.485 [debug] Current batch of media processed. Will check again in 1000ms 13:09:32.486 [debug] Current batch of media processed. Will check again in 1000ms 13:09:33.487 [debug] Current batch of media processed. Will check again in 1000ms 13:09:34.488 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://blog.cloudflare.com/durable-objects-ga/\n- https://x.com/rough__sea/status/2105853283617440032\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" => 785, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101900_The Real Reason.mp4", "id" => "5WyoCv68Sok", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5WyoCv68Sok", "playlist_index" => 5, "timestamp" => 1792438229, "title" => "The Real Reason", "upload_date" => "20261019"} 13:09:34.489 [debug] QUERY OK source="sources" db=0.2ms idle=40.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:09:34.489 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:09:34.492 [debug] QUERY OK source="media_items" db=2.5ms idle=33.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 19:30:29Z], 37] 13:09:34.493 [debug] QUERY OK source="media_items" db=0.6ms idle=35.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" ["Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://blog.cloudflare.com/durable-objects-ga/\n- https://x.com/rough__sea/status/2105853283617440032\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 Real Reason", "ed19ac00-0daf-4528-979e-ea3c93a404b5", "5WyoCv68Sok", 785, false, "https://www.youtube.com/watch?v=5WyoCv68Sok", 5, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101900_The Real Reason.mp4", false, false, false, 37, [], 98, ~U[2026-10-19 19:30:29Z], ~U[2026-10-26 18:09:34Z], ~U[2026-10-26 18:09:34Z], "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://blog.cloudflare.com/durable-objects-ga/\n- https://x.com/rough__sea/status/2105853283617440032\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 Real Reason", "5WyoCv68Sok", 785, false, "https://www.youtube.com/watch?v=5WyoCv68Sok", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101900_The Real Reason.mp4", false, 37, ~U[2026-10-19 19:30:29Z]] 13:09:34.494 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [37] 13:09:34.494 [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] 13:09:34.494 [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 [4191859] 13:09:34.494 [debug] Current batch of media processed. Will check again in 1000ms 13:09:35.495 [debug] Current batch of media processed. Will check again in 1000ms 13:09:36.496 [debug] Current batch of media processed. Will check again in 1000ms 13:09:37.497 [debug] Current batch of media processed. Will check again in 1000ms 13:09:38.498 [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\n- https://www.anthropic.com/news/2026-usage-policy-update\n- https://x.com/tekbog/status/1955031936633622788\n- https://x.com/Yuchenj_UW/status/2108394698482368527\n- https://x.com/thepirateface/status/2106141859022266721\n- https://x.com/ForrestPKnight/status/2108549285427958145\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" => 637, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101500_Anthropic says No More.mp4", "id" => "ASY_H2nLG8g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ASY_H2nLG8g", "playlist_index" => 6, "timestamp" => 1792067738, "title" => "Anthropic says No More", "upload_date" => "20261015"} 13:09:38.499 [debug] QUERY OK source="sources" db=0.2ms idle=45.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:09:38.499 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:09:38.503 [debug] QUERY OK source="media_items" db=3.1ms idle=43.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 12:35:38Z], 37] 13:09:38.505 [debug] QUERY OK source="media_items" db=1.7ms idle=46.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" ["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\n- https://www.anthropic.com/news/2026-usage-policy-update\n- https://x.com/tekbog/status/1955031936633622788\n- https://x.com/Yuchenj_UW/status/2108394698482368527\n- https://x.com/thepirateface/status/2106141859022266721\n- https://x.com/ForrestPKnight/status/2108549285427958145\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", "Anthropic says No More", "39a8d9fe-b6de-4bce-a3d9-5bcd1a933b0f", "ASY_H2nLG8g", 637, false, "https://www.youtube.com/watch?v=ASY_H2nLG8g", 6, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101500_Anthropic says No More.mp4", false, false, false, 37, [], 98, ~U[2026-10-15 12:35:38Z], ~U[2026-10-26 18:09:38Z], ~U[2026-10-26 18:09:38Z], "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\n- https://www.anthropic.com/news/2026-usage-policy-update\n- https://x.com/tekbog/status/1955031936633622788\n- https://x.com/Yuchenj_UW/status/2108394698482368527\n- https://x.com/thepirateface/status/2106141859022266721\n- https://x.com/ForrestPKnight/status/2108549285427958145\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", "Anthropic says No More", "ASY_H2nLG8g", 637, false, "https://www.youtube.com/watch?v=ASY_H2nLG8g", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101500_Anthropic says No More.mp4", false, 37, ~U[2026-10-15 12:35:38Z]] 13:09:38.505 [debug] QUERY OK source="sources" db=0.2ms idle=48.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:09:38.506 [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] 13:09:38.506 [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 [4156456] 13:09:38.506 [debug] Current batch of media processed. Will check again in 1000ms 13:09:39.507 [debug] Current batch of media processed. Will check again in 1000ms 13:09:40.508 [debug] Current batch of media processed. Will check again in 1000ms 13:09:41.509 [debug] Current batch of media processed. Will check again in 1000ms 13:09:42.510 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nSources:\n- https://x.com/mitsuhiko/status/2101401648543195328\n- https://x.com/setkyarwalar/status/2101414207015322005\n- https://x.com/joshuajbrunner/status/2101436015260954766\n- https://x.com/chiefclawofficr/status/2101420952697311669\n- https://x.com/ryxcommar/status/2101407274174411099\n- https://x.com/avrldotdev/status/2101408145268777250\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" => 1120, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101200_It’s not just you.mp4", "id" => "FlWII9xFabo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FlWII9xFabo", "playlist_index" => 7, "timestamp" => 1791810037, "title" => "It’s not just you", "upload_date" => "20261012"} 13:09:42.511 [debug] QUERY OK source="sources" db=0.3ms idle=1053.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:09:42.511 [debug] QUERY OK source="sources" db=0.1ms idle=55.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:09:42.515 [debug] QUERY OK source="media_items" db=3.0ms idle=55.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 13:00:37Z], 37] 13:09:42.516 [debug] QUERY OK source="media_items" db=1.0ms idle=58.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" ["Sentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nSources:\n- https://x.com/mitsuhiko/status/2101401648543195328\n- https://x.com/setkyarwalar/status/2101414207015322005\n- https://x.com/joshuajbrunner/status/2101436015260954766\n- https://x.com/chiefclawofficr/status/2101420952697311669\n- https://x.com/ryxcommar/status/2101407274174411099\n- https://x.com/avrldotdev/status/2101408145268777250\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", "It’s not just you", "496bde2b-44b6-4db4-a03d-2f2e40cc064c", "FlWII9xFabo", 1120, false, "https://www.youtube.com/watch?v=FlWII9xFabo", 7, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101200_It’s not just you.mp4", false, false, false, 37, [], 98, ~U[2026-10-12 13:00:37Z], ~U[2026-10-26 18:09:42Z], ~U[2026-10-26 18:09:42Z], "Sentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nSources:\n- https://x.com/mitsuhiko/status/2101401648543195328\n- https://x.com/setkyarwalar/status/2101414207015322005\n- https://x.com/joshuajbrunner/status/2101436015260954766\n- https://x.com/chiefclawofficr/status/2101420952697311669\n- https://x.com/ryxcommar/status/2101407274174411099\n- https://x.com/avrldotdev/status/2101408145268777250\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", "It’s not just you", "FlWII9xFabo", 1120, false, "https://www.youtube.com/watch?v=FlWII9xFabo", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101200_It’s not just you.mp4", false, 37, ~U[2026-10-12 13:00:37Z]] 13:09:42.517 [debug] QUERY OK source="sources" db=0.2ms idle=58.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:09:42.517 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:09:42.518 [debug] QUERY OK source="media_items" db=0.2ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4133091] 13:09:42.518 [debug] Current batch of media processed. Will check again in 1000ms 13:09:43.518 [debug] Current batch of media processed. Will check again in 1000ms 13:09:44.519 [debug] Current batch of media processed. Will check again in 1000ms 13:09:45.520 [debug] Current batch of media processed. Will check again in 1000ms 13:09:46.521 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode:\nYoutube: https://youtu.be/1UA0i2fpl0Y\nSpotify: https://open.spotify.com/episode/44Q10039DWZ3KDuW1p4isc\n\n[Description]\nWhat happens when AI can decompile entire games and mash them together? Prime, Teej, Casey Muratori, and Trash discuss the decompilation revolution, game preservation, AI-generated code, copyright concerns, and whether game studios can protect their work. Plus, everyone pitches their dream video game mashups, from Pokémon to StarCraft.\n\n[Chapters]\n00:00:00 - Intro\n00:01:23 - Decompiling and Mashing Games\n00:04:43 - Sentry\n00:06:52 - Different kinds of mashing\n00:10:03 - Decomping at Game Studios\n00:12:15 - Retro Preservation\n00:20:15 - AI PRs & Decomp Communities\n00:22:56 - Adobe Suite Decomp & Is any of this legal?\n00:27:53 - Gaming Industry Info Sharing\n00:31:03 - Are they going to stop shipping binaries?\n00:33:51 - Consequences of Piracy\n\n[Sources]\nCasey on Peterman Podcast: https://www.youtube.com/watch?v=jHLbL1Eg4gM\nMashups: https://x.com/chasmmmmmmmmmmm/status/2105707774646562818\nCOD in Skate: https://x.com/chasmmmmmmmmmmm/status/2104349115521888748\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\ntheprimeagen, teej_dv, casey muratori, trash dev, the standup, game decompilation, reverse engineering, AI decompilation, AI coding, video game mashups, game modding, game preservation, retro gaming, game development, game engines, AI generated code, copyright, software piracy, nintendo, pokemon, starcraft, halo, animal crossing, adobe, anti cheat, programming podcast", "duration" => 2384, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101100_AI Is Decompiling Every Game | TheStandup.mp4", "id" => "s95Q7D0WR40", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=s95Q7D0WR40", "playlist_index" => 8, "timestamp" => 1791730831, "title" => "AI Is Decompiling Every Game | TheStandup", "upload_date" => "20261011"} 13:09:46.522 [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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 13:09:46.522 [debug] QUERY OK source="sources" db=0.1ms idle=66.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:09:46.526 [debug] QUERY OK source="media_items" db=3.0ms idle=66.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-11 15:00:31Z], 37] 13:09:46.528 [debug] QUERY OK source="media_items" db=1.8ms idle=69.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" ["[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode:\nYoutube: https://youtu.be/1UA0i2fpl0Y\nSpotify: https://open.spotify.com/episode/44Q10039DWZ3KDuW1p4isc\n\n[Description]\nWhat happens when AI can decompile entire games and mash them together? Prime, Teej, Casey Muratori, and Trash discuss the decompilation revolution, game preservation, AI-generated code, copyright concerns, and whether game studios can protect their work. Plus, everyone pitches their dream video game mashups, from Pokémon to StarCraft.\n\n[Chapters]\n00:00:00 - Intro\n00:01:23 - Decompiling and Mashing Games\n00:04:43 - Sentry\n00:06:52 - Different kinds of mashing\n00:10:03 - Decomping at Game Studios\n00:12:15 - Retro Preservation\n00:20:15 - AI PRs & Decomp Communities\n00:22:56 - Adobe Suite Decomp & Is any of this legal?\n00:27:53 - Gaming Industry Info Sharing\n00:31:03 - Are they going to stop shipping binaries?\n00:33:51 - Consequences of Piracy\n\n[Sources]\nCasey on Peterman Podcast: https://www.youtube.com/watch?v=jHLbL1Eg4gM\nMashups: https://x.com/chasmmmmmmmmmmm/status/2105707774646562818\nCOD in Skate: https://x.com/chasmmmmmmmmmmm/status/2104349115521888748\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\ntheprimeagen, teej_dv, casey muratori, trash dev, the standup, game decompilation, reverse engineering, AI decompilation, AI coding, video game mashups, game modding, game preservation, retro gaming, game development, game engines, AI generated code, copyright, software piracy, nintendo, pokemon, starcraft, halo, animal crossing, adobe, anti cheat, programming podcast", "AI Is Decompiling Every Game | TheStandup", "ba3f3f70-2bc1-4b58-ba75-88bbd9193ec2", "s95Q7D0WR40", 2384, false, "https://www.youtube.com/watch?v=s95Q7D0WR40", 8, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101100_AI Is Decompiling Every Game | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-10-11 15:00:31Z], ~U[2026-10-26 18:09:46Z], ~U[2026-10-26 18:09:46Z], "[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode:\nYoutube: https://youtu.be/1UA0i2fpl0Y\nSpotify: https://open.spotify.com/episode/44Q10039DWZ3KDuW1p4isc\n\n[Description]\nWhat happens when AI can decompile entire games and mash them together? Prime, Teej, Casey Muratori, and Trash discuss the decompilation revolution, game preservation, AI-generated code, copyright concerns, and whether game studios can protect their work. Plus, everyone pitches their dream video game mashups, from Pokémon to StarCraft.\n\n[Chapters]\n00:00:00 - Intro\n00:01:23 - Decompiling and Mashing Games\n00:04:43 - Sentry\n00:06:52 - Different kinds of mashing\n00:10:03 - Decomping at Game Studios\n00:12:15 - Retro Preservation\n00:20:15 - AI PRs & Decomp Communities\n00:22:56 - Adobe Suite Decomp & Is any of this legal?\n00:27:53 - Gaming Industry Info Sharing\n00:31:03 - Are they going to stop shipping binaries?\n00:33:51 - Consequences of Piracy\n\n[Sources]\nCasey on Peterman Podcast: https://www.youtube.com/watch?v=jHLbL1Eg4gM\nMashups: https://x.com/chasmmmmmmmmmmm/status/2105707774646562818\nCOD in Skate: https://x.com/chasmmmmmmmmmmm/status/2104349115521888748\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\ntheprimeagen, teej_dv, casey muratori, trash dev, the standup, game decompilation, reverse engineering, AI decompilation, AI coding, video game mashups, game modding, game preservation, retro gaming, game development, game engines, AI generated code, copyright, software piracy, nintendo, pokemon, starcraft, halo, animal crossing, adobe, anti cheat, programming podcast", "AI Is Decompiling Every Game | TheStandup", "s95Q7D0WR40", 2384, false, "https://www.youtube.com/watch?v=s95Q7D0WR40", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101100_AI Is Decompiling Every Game | TheStandup.mp4", false, 37, ~U[2026-10-11 15:00:31Z]] 13:09:46.529 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:09:46.529 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 13:09:46.530 [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 [4127445] 13:09:46.530 [debug] Current batch of media processed. Will check again in 1000ms 13:09:47.530 [debug] Current batch of media processed. Will check again in 1000ms 13:09:48.531 [debug] Current batch of media processed. Will check again in 1000ms 13:09:49.532 [debug] Current batch of media processed. Will check again in 1000ms 13:09:50.533 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\n[Chapters]\n00:00:00 - Why are Mathematicians so mad?\n00:01:34 - WorkOS\n00:02:19 - Mathematical Misalignment\n00:03:55 - The Problems\n00:04:27 - No more Proof fanfair \n00:05:50 - Lean\n00:07:08 - Math Humans Can't Do\n00:10:00 - Perspectives\n00:11:38 - Four-minute mile\n00:13:53 - Heart & Understanding\n00:15:16 - Purpose\n00:15:47 - Reddit Weirdos\n00:16:33 - The Next Generation\n\nSources:\nOpenAI announcement: https://x.com/OpenAI/status/2107596713791767021\nFaster than n log n (AcerFur): https://x.com/AcerFur/status/2107606747972309163\nImproving n log n (Doug Colkitt): https://x.com/0xdoug/status/2107658319632433524\nhttps://x.com/0xdoug/status/2107832360527913445\nhttps://x.com/0xdoug/status/2107917690568327225\nhttps://x.com/0xdoug/status/2107994110644588859\nhttps://x.com/0xdoug/status/2108005950632214824\nFibonacci squares paper (David Budden): https://x.com/davidmbudden/status/2107646435659481548\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" => 1059, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100900_The Mathematics are Mad.mp4", "id" => "WXh4LF3zJ1Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WXh4LF3zJ1Q", "playlist_index" => 9, "timestamp" => 1791566239, "title" => "The Mathematics are Mad", "upload_date" => "20261009"} 13:09:50.534 [debug] QUERY OK source="sources" db=0.3ms 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" IN (?)) [37] 13:09:50.535 [debug] QUERY OK source="sources" db=0.2ms idle=77.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:09:50.537 [debug] QUERY OK source="media_items" db=2.4ms idle=78.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-09 17:17:19Z], 37] 13:09:50.538 [debug] QUERY OK source="media_items" db=0.8ms idle=81.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 vibe code your auth. Use WorkOS: https://trm.sh/workos\n\n[Chapters]\n00:00:00 - Why are Mathematicians so mad?\n00:01:34 - WorkOS\n00:02:19 - Mathematical Misalignment\n00:03:55 - The Problems\n00:04:27 - No more Proof fanfair \n00:05:50 - Lean\n00:07:08 - Math Humans Can't Do\n00:10:00 - Perspectives\n00:11:38 - Four-minute mile\n00:13:53 - Heart & Understanding\n00:15:16 - Purpose\n00:15:47 - Reddit Weirdos\n00:16:33 - The Next Generation\n\nSources:\nOpenAI announcement: https://x.com/OpenAI/status/2107596713791767021\nFaster than n log n (AcerFur): https://x.com/AcerFur/status/2107606747972309163\nImproving n log n (Doug Colkitt): https://x.com/0xdoug/status/2107658319632433524\nhttps://x.com/0xdoug/status/2107832360527913445\nhttps://x.com/0xdoug/status/2107917690568327225\nhttps://x.com/0xdoug/status/2107994110644588859\nhttps://x.com/0xdoug/status/2108005950632214824\nFibonacci squares paper (David Budden): https://x.com/davidmbudden/status/2107646435659481548\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 Mathematics are Mad", "03ebbc8c-4f9f-42f6-a170-57285d0a4c4a", "WXh4LF3zJ1Q", 1059, false, "https://www.youtube.com/watch?v=WXh4LF3zJ1Q", 9, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100900_The Mathematics are Mad.mp4", false, false, false, 37, [], 98, ~U[2026-10-09 17:17:19Z], ~U[2026-10-26 18:09:50Z], ~U[2026-10-26 18:09:50Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\n[Chapters]\n00:00:00 - Why are Mathematicians so mad?\n00:01:34 - WorkOS\n00:02:19 - Mathematical Misalignment\n00:03:55 - The Problems\n00:04:27 - No more Proof fanfair \n00:05:50 - Lean\n00:07:08 - Math Humans Can't Do\n00:10:00 - Perspectives\n00:11:38 - Four-minute mile\n00:13:53 - Heart & Understanding\n00:15:16 - Purpose\n00:15:47 - Reddit Weirdos\n00:16:33 - The Next Generation\n\nSources:\nOpenAI announcement: https://x.com/OpenAI/status/2107596713791767021\nFaster than n log n (AcerFur): https://x.com/AcerFur/status/2107606747972309163\nImproving n log n (Doug Colkitt): https://x.com/0xdoug/status/2107658319632433524\nhttps://x.com/0xdoug/status/2107832360527913445\nhttps://x.com/0xdoug/status/2107917690568327225\nhttps://x.com/0xdoug/status/2107994110644588859\nhttps://x.com/0xdoug/status/2108005950632214824\nFibonacci squares paper (David Budden): https://x.com/davidmbudden/status/2107646435659481548\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 Mathematics are Mad", "WXh4LF3zJ1Q", 1059, false, "https://www.youtube.com/watch?v=WXh4LF3zJ1Q", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100900_The Mathematics are Mad.mp4", false, 37, ~U[2026-10-09 17:17:19Z]] 13:09:50.539 [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" = ?) [37] 13:09:50.539 [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] 13:09:50.539 [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 [4113862] 13:09:50.539 [debug] Current batch of media processed. Will check again in 1000ms 13:09:51.540 [debug] Current batch of media processed. Will check again in 1000ms 13:09:52.541 [debug] Current batch of media processed. Will check again in 1000ms 13:09:53.542 [debug] Current batch of media processed. Will check again in 1000ms 13:09:54.543 [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.youtube.com/watch?v=4A_Kkb9w5bw\n- https://www.youtube.com/watch?v=86j8zOsmNFE&t=72s\n- https://www.youtube.com/watch?v=V7PYQCXdX3A \n- https://www.youtube.com/watch?v=IY2j_GPIqRA\n- https://www.youtube.com/watch?v=6ypXfodOu-s&t=657s \n- https://www.youtube.com/watch?v=JDJVDYwhlHI&t=529s \n- https://www.youtube.com/watch?v=DgJS2tQPGKQ \n- https://www.youtube.com/watch?v=N5lKoGH76JQ \n- https://devblogs.microsoft.com/oldnewthing/20100112-01/?p=15303/ \n- https://innovation.world/steve-ballmer-windows-1986/\n- https://www.upi.com/Archives/1982/04/27/800-phone-number-response-centers-grow-in-Nebraska-despite-recession/3307388728000/ \n\nTopics Covered:\n\n- Old Windows commercials\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" => 966, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100500_WTF Microsoft.mp4", "id" => "aS3XxRz03co", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aS3XxRz03co", "playlist_index" => 10, "timestamp" => 1791205210, "title" => "WTF Microsoft", "upload_date" => "20261005"} 13:09:54.544 [debug] QUERY OK source="sources" db=0.2ms idle=87.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 13:09:54.544 [debug] QUERY OK source="sources" db=0.1ms idle=87.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:09:54.548 [debug] QUERY OK source="media_items" db=3.1ms idle=88.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-05 13:00:10Z], 37] 13:09:54.550 [debug] QUERY OK source="media_items" db=1.7ms idle=91.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.youtube.com/watch?v=4A_Kkb9w5bw\n- https://www.youtube.com/watch?v=86j8zOsmNFE&t=72s\n- https://www.youtube.com/watch?v=V7PYQCXdX3A \n- https://www.youtube.com/watch?v=IY2j_GPIqRA\n- https://www.youtube.com/watch?v=6ypXfodOu-s&t=657s \n- https://www.youtube.com/watch?v=JDJVDYwhlHI&t=529s \n- https://www.youtube.com/watch?v=DgJS2tQPGKQ \n- https://www.youtube.com/watch?v=N5lKoGH76JQ \n- https://devblogs.microsoft.com/oldnewthing/20100112-01/?p=15303/ \n- https://innovation.world/steve-ballmer-windows-1986/\n- https://www.upi.com/Archives/1982/04/27/800-phone-number-response-centers-grow-in-Nebraska-despite-recession/3307388728000/ \n\nTopics Covered:\n\n- Old Windows commercials\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", "WTF Microsoft", "9aeeb74d-95dc-4a88-b2e9-5bbae4ba2b70", "aS3XxRz03co", 966, false, "https://www.youtube.com/watch?v=aS3XxRz03co", 10, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100500_WTF Microsoft.mp4", false, false, false, 37, [], 98, ~U[2026-10-05 13:00:10Z], ~U[2026-10-26 18:09:54Z], ~U[2026-10-26 18:09:54Z], "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.youtube.com/watch?v=4A_Kkb9w5bw\n- https://www.youtube.com/watch?v=86j8zOsmNFE&t=72s\n- https://www.youtube.com/watch?v=V7PYQCXdX3A \n- https://www.youtube.com/watch?v=IY2j_GPIqRA\n- https://www.youtube.com/watch?v=6ypXfodOu-s&t=657s \n- https://www.youtube.com/watch?v=JDJVDYwhlHI&t=529s \n- https://www.youtube.com/watch?v=DgJS2tQPGKQ \n- https://www.youtube.com/watch?v=N5lKoGH76JQ \n- https://devblogs.microsoft.com/oldnewthing/20100112-01/?p=15303/ \n- https://innovation.world/steve-ballmer-windows-1986/\n- https://www.upi.com/Archives/1982/04/27/800-phone-number-response-centers-grow-in-Nebraska-despite-recession/3307388728000/ \n\nTopics Covered:\n\n- Old Windows commercials\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", "WTF Microsoft", "aS3XxRz03co", 966, false, "https://www.youtube.com/watch?v=aS3XxRz03co", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100500_WTF Microsoft.mp4", false, 37, ~U[2026-10-05 13:00:10Z]] 13:09:54.551 [debug] QUERY OK source="sources" db=0.2ms idle=77.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:09:54.551 [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] 13:09:54.551 [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 [4078604] 13:09:54.551 [debug] Current batch of media processed. Will check again in 1000ms 13:09:55.552 [debug] Current batch of media processed. Will check again in 1000ms 13:09:56.553 [debug] Current batch of media processed. Will check again in 1000ms 13:09:57.554 [debug] Current batch of media processed. Will check again in 1000ms 13:09:58.555 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sandbox aren't enough. Your agents need a devbox. A full development environment with all your dependencies. https://trm.sh/namespace\n\nSources:\n\n- https://openai.com/index/devday-2026-recap/\n- https://openai.com/index/introducing-dots/\n- https://openai.com/index/cerebras-partnership/\n- https://openai.com/index/previewing-ultrafast/\n- https://www.cerebras.ai/blog/accelerating-gpt-5-6-sol-ultrafast-with-openai\n- https://www.reuters.com/technology/openai-buy-compute-capacity-startup-cerebras-around-10-billion-wsj-reports-2026-01-14/\n- https://www.reuters.com/business/openai-shelves-new-ai-model-after-internal-safety-tests-wsj-reports-2026-09-28/\n- https://help.openai.com/en/articles/9793128\n- https://x.com/thsottiaux/status/2104823812042940713\n- https://x.com/SemiAnalysis_/status/2105055045959995719\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" => 799, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100300_A total disaster.mp4", "id" => "p0fybvFyOlM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=p0fybvFyOlM", "playlist_index" => 11, "timestamp" => 1790999311, "title" => "A total disaster", "upload_date" => "20261003"} 13:09:58.556 [debug] QUERY OK source="sources" db=0.2ms idle=99.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:09:58.557 [debug] QUERY OK source="sources" db=0.2ms idle=99.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:09:58.560 [debug] QUERY OK source="media_items" db=3.0ms idle=100.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-03 03:48:31Z], 37] 13:09:58.562 [debug] QUERY OK source="media_items" db=2.0ms idle=103.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" ["Sandbox aren't enough. Your agents need a devbox. A full development environment with all your dependencies. https://trm.sh/namespace\n\nSources:\n\n- https://openai.com/index/devday-2026-recap/\n- https://openai.com/index/introducing-dots/\n- https://openai.com/index/cerebras-partnership/\n- https://openai.com/index/previewing-ultrafast/\n- https://www.cerebras.ai/blog/accelerating-gpt-5-6-sol-ultrafast-with-openai\n- https://www.reuters.com/technology/openai-buy-compute-capacity-startup-cerebras-around-10-billion-wsj-reports-2026-01-14/\n- https://www.reuters.com/business/openai-shelves-new-ai-model-after-internal-safety-tests-wsj-reports-2026-09-28/\n- https://help.openai.com/en/articles/9793128\n- https://x.com/thsottiaux/status/2104823812042940713\n- https://x.com/SemiAnalysis_/status/2105055045959995719\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", "A total disaster", "ea3d25d8-c836-47be-a651-90f95f5f7bd8", "p0fybvFyOlM", 799, false, "https://www.youtube.com/watch?v=p0fybvFyOlM", 11, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100300_A total disaster.mp4", false, false, false, 37, [], 98, ~U[2026-10-03 03:48:31Z], ~U[2026-10-26 18:09:58Z], ~U[2026-10-26 18:09:58Z], "Sandbox aren't enough. Your agents need a devbox. A full development environment with all your dependencies. https://trm.sh/namespace\n\nSources:\n\n- https://openai.com/index/devday-2026-recap/\n- https://openai.com/index/introducing-dots/\n- https://openai.com/index/cerebras-partnership/\n- https://openai.com/index/previewing-ultrafast/\n- https://www.cerebras.ai/blog/accelerating-gpt-5-6-sol-ultrafast-with-openai\n- https://www.reuters.com/technology/openai-buy-compute-capacity-startup-cerebras-around-10-billion-wsj-reports-2026-01-14/\n- https://www.reuters.com/business/openai-shelves-new-ai-model-after-internal-safety-tests-wsj-reports-2026-09-28/\n- https://help.openai.com/en/articles/9793128\n- https://x.com/thsottiaux/status/2104823812042940713\n- https://x.com/SemiAnalysis_/status/2105055045959995719\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", "A total disaster", "p0fybvFyOlM", 799, false, "https://www.youtube.com/watch?v=p0fybvFyOlM", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100300_A total disaster.mp4", false, 37, ~U[2026-10-03 03:48:31Z]] 13:09:58.563 [debug] QUERY OK source="sources" db=0.2ms idle=84.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:09:58.563 [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] 13:09:58.564 [debug] QUERY OK source="media_items" db=0.3ms 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 [4062856] 13:09:58.564 [debug] Current batch of media processed. Will check again in 1000ms 13:09:59.298 [info] {"source":"oban","duration":8218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:59.565 [debug] Current batch of media processed. Will check again in 1000ms 13:10:00.224 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:10:00.566 [debug] Current batch of media processed. Will check again in 1000ms 13:10:01.567 [debug] Current batch of media processed. Will check again in 1000ms 13:10:02.568 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. \nhttps://trm.sh/namespace-github-actions\n\nLike this video check out the playlist here: https://www.youtube.com/playlist?list=PLV5iO6tVgf1s\n\nChapters:\n00:00 - Intro\n01:18 - Namespace\n02:04 - Early life & Education\n02:52 - Quick Sort\n04:48 - Elliot Brothers\n05:58 - ALGOL W (billion dollar mistake)\n07:06 - the true cost of nul pointer\n08:20 - Communicating Sequential Processes (CSP)\n10:14 - Quotes\n11:21 - Sir Tony Hoare\n12:00 - Outro\n\nSources:\n\n- https://en.wikipedia.org/wiki/Quicksort\n- https://en.wikipedia.org/wiki/Hoare_logic\n- https://en.wikipedia.org/wiki/Communicating_sequential_processes\n- https://en.wikipedia.org/wiki/Null_pointer#History\n- https://en.wikipedia.org/wiki/Unifying_Theories_of_Programming\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" => 734, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092900_He Realized his Mistake.mp4", "id" => "jF3W7EkXd4k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jF3W7EkXd4k", "playlist_index" => 12, "timestamp" => 1790695496, "title" => "He Realized his Mistake", "upload_date" => "20260929"} 13:10:02.569 [debug] QUERY OK source="sources" db=0.2ms idle=1086.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:10:02.569 [debug] QUERY OK source="sources" db=0.1ms idle=112.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:10:02.572 [debug] QUERY OK source="media_items" db=3.0ms idle=113.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-29 15:24:56Z], 37] 13:10:02.577 [debug] QUERY OK source="media_items" db=4.1ms idle=116.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" ["Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. \nhttps://trm.sh/namespace-github-actions\n\nLike this video check out the playlist here: https://www.youtube.com/playlist?list=PLV5iO6tVgf1s\n\nChapters:\n00:00 - Intro\n01:18 - Namespace\n02:04 - Early life & Education\n02:52 - Quick Sort\n04:48 - Elliot Brothers\n05:58 - ALGOL W (billion dollar mistake)\n07:06 - the true cost of nul pointer\n08:20 - Communicating Sequential Processes (CSP)\n10:14 - Quotes\n11:21 - Sir Tony Hoare\n12:00 - Outro\n\nSources:\n\n- https://en.wikipedia.org/wiki/Quicksort\n- https://en.wikipedia.org/wiki/Hoare_logic\n- https://en.wikipedia.org/wiki/Communicating_sequential_processes\n- https://en.wikipedia.org/wiki/Null_pointer#History\n- https://en.wikipedia.org/wiki/Unifying_Theories_of_Programming\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", "He Realized his Mistake", "3134b81e-00e4-4fe0-b083-5d1d1ef5636b", "jF3W7EkXd4k", 734, false, "https://www.youtube.com/watch?v=jF3W7EkXd4k", 12, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092900_He Realized his Mistake.mp4", false, false, false, 37, [], 98, ~U[2026-09-29 15:24:56Z], ~U[2026-10-26 18:10:02Z], ~U[2026-10-26 18:10:02Z], "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. \nhttps://trm.sh/namespace-github-actions\n\nLike this video check out the playlist here: https://www.youtube.com/playlist?list=PLV5iO6tVgf1s\n\nChapters:\n00:00 - Intro\n01:18 - Namespace\n02:04 - Early life & Education\n02:52 - Quick Sort\n04:48 - Elliot Brothers\n05:58 - ALGOL W (billion dollar mistake)\n07:06 - the true cost of nul pointer\n08:20 - Communicating Sequential Processes (CSP)\n10:14 - Quotes\n11:21 - Sir Tony Hoare\n12:00 - Outro\n\nSources:\n\n- https://en.wikipedia.org/wiki/Quicksort\n- https://en.wikipedia.org/wiki/Hoare_logic\n- https://en.wikipedia.org/wiki/Communicating_sequential_processes\n- https://en.wikipedia.org/wiki/Null_pointer#History\n- https://en.wikipedia.org/wiki/Unifying_Theories_of_Programming\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", "He Realized his Mistake", "jF3W7EkXd4k", 734, false, "https://www.youtube.com/watch?v=jF3W7EkXd4k", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092900_He Realized his Mistake.mp4", false, 37, ~U[2026-09-29 15:24:56Z]] 13:10:02.578 [debug] QUERY OK source="sources" db=0.2ms idle=94.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:10:02.578 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:10:02.579 [debug] QUERY OK source="media_items" db=0.8ms 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 [4034594] 13:10:02.579 [debug] Current batch of media processed. Will check again in 1000ms 13:10:03.580 [debug] Current batch of media processed. Will check again in 1000ms 13:10:04.581 [debug] Current batch of media processed. Will check again in 1000ms 13:10:05.582 [debug] Current batch of media processed. Will check again in 1000ms 13:10:06.583 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/Ag3nn9BgWP0\nSpotify: https://open.spotify.com/episode/1A82BUfwmLOUtZZwuaOOqs\n\n[Description]\nLegendary programmer and game developer Casey Muratori ruthlessly judges the digging games we made!\n\n[Chapters]\n00:00:00 - Digging Games Intro\n00:03:39 - Linear\n00:04:18 - Trash has things to say\n00:07:04 - Trash’s first game ideas\n00:16:54 - Trash’s Digging game\n00:21:35 - qwerop\n00:28:24 - Teej’s first game (Receipts app the game)\n00:36:40 - Prime’s Game\n00:41:25 - Teej’s Digging Game\n00:46:23 - Casey’s Judgement\n00:54:11 - Outro\n\n[Sources]\nTrash Games\nhttps://qwerop.com\n\nTeej Games\nhttps://dig-deep.trm.sh/\nhttps://gravel-empire.trm.sh/\n\nPrime Games\nhttps://beatdig.trm.sh/\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nDHH: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nCasey Muratori, game development, gamedev, indie game dev, game design, coding, game programming, TheStandupPod, digging games, game review, programming challenge, indie dev showcase", "duration" => 3277, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092700_Casey Muratori Judges Our Digging Games | TheStandup.mp4", "id" => "W9-UG1hvMYs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W9-UG1hvMYs", "playlist_index" => 13, "timestamp" => 1790514001, "title" => "Casey Muratori Judges Our Digging Games | TheStandup", "upload_date" => "20260927"} 13:10:06.584 [debug] QUERY OK source="sources" db=0.1ms idle=127.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 13:10:06.584 [debug] QUERY OK source="sources" db=0.1ms idle=127.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:10:06.587 [debug] QUERY OK source="media_items" db=2.4ms idle=127.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-27 13:00:01Z], 37] 13:10:06.588 [debug] QUERY OK source="media_items" db=0.9ms idle=130.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" ["[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/Ag3nn9BgWP0\nSpotify: https://open.spotify.com/episode/1A82BUfwmLOUtZZwuaOOqs\n\n[Description]\nLegendary programmer and game developer Casey Muratori ruthlessly judges the digging games we made!\n\n[Chapters]\n00:00:00 - Digging Games Intro\n00:03:39 - Linear\n00:04:18 - Trash has things to say\n00:07:04 - Trash’s first game ideas\n00:16:54 - Trash’s Digging game\n00:21:35 - qwerop\n00:28:24 - Teej’s first game (Receipts app the game)\n00:36:40 - Prime’s Game\n00:41:25 - Teej’s Digging Game\n00:46:23 - Casey’s Judgement\n00:54:11 - Outro\n\n[Sources]\nTrash Games\nhttps://qwerop.com\n\nTeej Games\nhttps://dig-deep.trm.sh/\nhttps://gravel-empire.trm.sh/\n\nPrime Games\nhttps://beatdig.trm.sh/\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nDHH: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nCasey Muratori, game development, gamedev, indie game dev, game design, coding, game programming, TheStandupPod, digging games, game review, programming challenge, indie dev showcase", "Casey Muratori Judges Our Digging Games | TheStandup", "d541f2de-6e97-4191-acc3-c3c97288ab89", "W9-UG1hvMYs", 3277, false, "https://www.youtube.com/watch?v=W9-UG1hvMYs", 13, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092700_Casey Muratori Judges Our Digging Games | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-09-27 13:00:01Z], ~U[2026-10-26 18:10:06Z], ~U[2026-10-26 18:10:06Z], "[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/Ag3nn9BgWP0\nSpotify: https://open.spotify.com/episode/1A82BUfwmLOUtZZwuaOOqs\n\n[Description]\nLegendary programmer and game developer Casey Muratori ruthlessly judges the digging games we made!\n\n[Chapters]\n00:00:00 - Digging Games Intro\n00:03:39 - Linear\n00:04:18 - Trash has things to say\n00:07:04 - Trash’s first game ideas\n00:16:54 - Trash’s Digging game\n00:21:35 - qwerop\n00:28:24 - Teej’s first game (Receipts app the game)\n00:36:40 - Prime’s Game\n00:41:25 - Teej’s Digging Game\n00:46:23 - Casey’s Judgement\n00:54:11 - Outro\n\n[Sources]\nTrash Games\nhttps://qwerop.com\n\nTeej Games\nhttps://dig-deep.trm.sh/\nhttps://gravel-empire.trm.sh/\n\nPrime Games\nhttps://beatdig.trm.sh/\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nDHH: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nCasey Muratori, game development, gamedev, indie game dev, game design, coding, game programming, TheStandupPod, digging games, game review, programming challenge, indie dev showcase", "Casey Muratori Judges Our Digging Games | TheStandup", "W9-UG1hvMYs", 3277, false, "https://www.youtube.com/watch?v=W9-UG1hvMYs", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092700_Casey Muratori Judges Our Digging Games | TheStandup.mp4", false, 37, ~U[2026-09-27 13:00:01Z]] 13:10:06.588 [debug] QUERY OK source="sources" db=0.1ms idle=100.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:10:06.588 [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] 13:10:06.589 [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 [4018455] 13:10:06.589 [debug] Current batch of media processed. Will check again in 1000ms 13:10:07.589 [debug] Current batch of media processed. Will check again in 1000ms 13:10:08.590 [debug] Current batch of media processed. Will check again in 1000ms 13:10:09.591 [debug] Current batch of media processed. Will check again in 1000ms 13:10:10.592 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- Primary: https://x.com/CompleteSkeptic/status/2099925682726002904\n- Mau Baron demo: https://x.com/maubaron/status/2100738237237002706\n- Feed filter ext: https://x.com/marcelpociot/status/2100520134481735729\n- WhatsApp scam radar: https://x.com/itscellou/status/2101721165719089434\n- Flights browser agent: https://x.com/opc0de3/status/2100582579565105561\n- More X demos listed under Resources → Coolest Demos\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" => 727, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092500_Computer Use is Solved?.mp4", "id" => "BHPDsGVciDk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BHPDsGVciDk", "playlist_index" => 14, "timestamp" => 1790356997, "title" => "Computer Use is Solved?", "upload_date" => "20260925"} 13:10:10.593 [debug] QUERY OK source="sources" db=0.1ms idle=136.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:10:10.593 [debug] QUERY OK source="sources" db=0.1ms idle=136.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:10:10.595 [debug] QUERY OK source="media_items" db=2.4ms idle=136.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-25 17:23:17Z], 37] 13:10:10.598 [debug] QUERY OK source="media_items" db=2.1ms idle=139.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" ["Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- Primary: https://x.com/CompleteSkeptic/status/2099925682726002904\n- Mau Baron demo: https://x.com/maubaron/status/2100738237237002706\n- Feed filter ext: https://x.com/marcelpociot/status/2100520134481735729\n- WhatsApp scam radar: https://x.com/itscellou/status/2101721165719089434\n- Flights browser agent: https://x.com/opc0de3/status/2100582579565105561\n- More X demos listed under Resources → Coolest Demos\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", "Computer Use is Solved?", "da29d9d0-134d-46bc-ac0b-cbfdc14e9a68", "BHPDsGVciDk", 727, false, "https://www.youtube.com/watch?v=BHPDsGVciDk", 14, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092500_Computer Use is Solved?.mp4", false, false, false, 37, [], 97, ~U[2026-09-25 17:23:17Z], ~U[2026-10-26 18:10:10Z], ~U[2026-10-26 18:10:10Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- Primary: https://x.com/CompleteSkeptic/status/2099925682726002904\n- Mau Baron demo: https://x.com/maubaron/status/2100738237237002706\n- Feed filter ext: https://x.com/marcelpociot/status/2100520134481735729\n- WhatsApp scam radar: https://x.com/itscellou/status/2101721165719089434\n- Flights browser agent: https://x.com/opc0de3/status/2100582579565105561\n- More X demos listed under Resources → Coolest Demos\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", "Computer Use is Solved?", "BHPDsGVciDk", 727, false, "https://www.youtube.com/watch?v=BHPDsGVciDk", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092500_Computer Use is Solved?.mp4", false, 37, ~U[2026-09-25 17:23:17Z]] 13:10:10.598 [debug] QUERY OK source="sources" db=0.1ms idle=106.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:10:10.599 [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] 13:10:10.599 [debug] QUERY OK source="media_items" db=0.1ms 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 [4000904] 13:10:10.599 [debug] Current batch of media processed. Will check again in 1000ms 13:10:11.599 [debug] Current batch of media processed. Will check again in 1000ms 13:10:12.600 [debug] Current batch of media processed. Will check again in 1000ms 13:10:13.601 [debug] Current batch of media processed. Will check again in 1000ms 13:10:14.602 [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- https://x.com/v0xium/status/2101526107128529120\n- https://x.com/JonathanRoss321/status/2049901596054798774\n- https://x.com/mitchellh/status/2100249348345057389\n- https://x.com/nicbarkeragain/status/2100345337831711083\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" => 596, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092300_They can’t take it anymore.mp4", "id" => "iuccfEQgIeY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iuccfEQgIeY", "playlist_index" => 15, "timestamp" => 1790164829, "title" => "They can’t take it anymore", "upload_date" => "20260923"} 13:10:14.603 [debug] QUERY OK source="sources" db=0.1ms idle=146.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:10:14.603 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:10:14.606 [debug] QUERY OK source="media_items" db=2.4ms idle=146.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-23 12:00:29Z], 37] 13:10:14.607 [debug] QUERY OK source="media_items" db=1.1ms idle=149.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- https://x.com/v0xium/status/2101526107128529120\n- https://x.com/JonathanRoss321/status/2049901596054798774\n- https://x.com/mitchellh/status/2100249348345057389\n- https://x.com/nicbarkeragain/status/2100345337831711083\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 can’t take it anymore", "ad3fe3fa-2f45-4669-b019-67cc784cd773", "iuccfEQgIeY", 596, false, "https://www.youtube.com/watch?v=iuccfEQgIeY", 15, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092300_They can’t take it anymore.mp4", false, false, false, 37, [], 98, ~U[2026-09-23 12:00:29Z], ~U[2026-10-26 18:10:14Z], ~U[2026-10-26 18:10:14Z], "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- https://x.com/v0xium/status/2101526107128529120\n- https://x.com/JonathanRoss321/status/2049901596054798774\n- https://x.com/mitchellh/status/2100249348345057389\n- https://x.com/nicbarkeragain/status/2100345337831711083\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 can’t take it anymore", "iuccfEQgIeY", 596, false, "https://www.youtube.com/watch?v=iuccfEQgIeY", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092300_They can’t take it anymore.mp4", false, 37, ~U[2026-09-23 12:00:29Z]] 13:10:14.607 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [37] 13:10:14.608 [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] 13:10:14.608 [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 [3989434] 13:10:14.608 [debug] Current batch of media processed. Will check again in 1000ms 13:10:15.609 [debug] Current batch of media processed. Will check again in 1000ms 13:10:16.610 [debug] Current batch of media processed. Will check again in 1000ms 13:10:17.611 [debug] Current batch of media processed. Will check again in 1000ms 13:10:18.612 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://x.com/hilbertspaess/status/2097476196791709843\n- https://x.com/hilbertspaess/status/2099960188702957776\n- https://x.com/EvanHub/status/2097497037956891126\n- https://www.axios.com/2025/09/17/anthropic-dario-amodei-p-doom-25-percent\n- https://darioamodei.com/post/we-must-pace-the-frontier\n- https://x.com/ParkerThayer/status/2097759699626328575\n\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" => 870, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091900_I can’t believe this is happening.mp4", "id" => "W8IVKMGbUZE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W8IVKMGbUZE", "playlist_index" => 16, "timestamp" => 1789782248, "title" => "I can’t believe this is happening", "upload_date" => "20260919"} 13:10:18.613 [debug] QUERY OK source="sources" db=0.2ms idle=156.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:10:18.613 [debug] QUERY OK source="sources" db=0.1ms idle=156.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:10:18.616 [debug] QUERY OK source="media_items" db=3.0ms idle=157.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-19 01:44:08Z], 37] 13:10:18.618 [debug] QUERY OK source="media_items" db=1.0ms idle=160.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" ["Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://x.com/hilbertspaess/status/2097476196791709843\n- https://x.com/hilbertspaess/status/2099960188702957776\n- https://x.com/EvanHub/status/2097497037956891126\n- https://www.axios.com/2025/09/17/anthropic-dario-amodei-p-doom-25-percent\n- https://darioamodei.com/post/we-must-pace-the-frontier\n- https://x.com/ParkerThayer/status/2097759699626328575\n\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 can’t believe this is happening", "29272800-e049-43d9-95fe-603f27511b67", "W8IVKMGbUZE", 870, false, "https://www.youtube.com/watch?v=W8IVKMGbUZE", 16, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091900_I can’t believe this is happening.mp4", false, false, false, 37, [], 98, ~U[2026-09-19 01:44:08Z], ~U[2026-10-26 18:10:18Z], ~U[2026-10-26 18:10:18Z], "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://x.com/hilbertspaess/status/2097476196791709843\n- https://x.com/hilbertspaess/status/2099960188702957776\n- https://x.com/EvanHub/status/2097497037956891126\n- https://www.axios.com/2025/09/17/anthropic-dario-amodei-p-doom-25-percent\n- https://darioamodei.com/post/we-must-pace-the-frontier\n- https://x.com/ParkerThayer/status/2097759699626328575\n\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 can’t believe this is happening", "W8IVKMGbUZE", 870, false, "https://www.youtube.com/watch?v=W8IVKMGbUZE", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091900_I can’t believe this is happening.mp4", false, 37, ~U[2026-09-19 01:44:08Z]] 13:10:18.618 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:10:18.618 [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] 13:10:18.619 [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 [3954825] 13:10:18.619 [debug] Current batch of media processed. Will check again in 1000ms 13:10:19.619 [debug] Current batch of media processed. Will check again in 1000ms 13:10:20.620 [debug] Current batch of media processed. Will check again in 1000ms 13:10:21.621 [debug] Current batch of media processed. Will check again in 1000ms 13:10:22.622 [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- https://www.benjoffe.com/fast-day-of-week\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" => 680, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091700_The Date Hack.mp4", "id" => "0UiMf5dV4_Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0UiMf5dV4_Y", "playlist_index" => 17, "timestamp" => 1789646415, "title" => "The Date Hack", "upload_date" => "20260917"} 13:10:22.623 [debug] QUERY OK source="sources" db=0.2ms idle=166.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:10:22.623 [debug] QUERY OK source="sources" db=0.1ms idle=166.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:10:22.626 [debug] QUERY OK source="media_items" db=2.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-09-17 12:00:15Z], 37] 13:10:22.627 [debug] QUERY OK source="media_items" db=1.0ms idle=169.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- https://www.benjoffe.com/fast-day-of-week\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 Date Hack", "da3e6760-ecf1-4329-b44d-ac50f6396101", "0UiMf5dV4_Y", 680, false, "https://www.youtube.com/watch?v=0UiMf5dV4_Y", 17, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091700_The Date Hack.mp4", false, false, false, 37, [], 98, ~U[2026-09-17 12:00:15Z], ~U[2026-10-26 18:10:22Z], ~U[2026-10-26 18:10:22Z], "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- https://www.benjoffe.com/fast-day-of-week\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 Date Hack", "0UiMf5dV4_Y", 680, false, "https://www.youtube.com/watch?v=0UiMf5dV4_Y", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091700_The Date Hack.mp4", false, 37, ~U[2026-09-17 12:00:15Z]] 13:10:22.627 [debug] QUERY OK source="sources" db=0.1ms idle=121.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:10:22.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] 13:10:22.628 [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 [3939189] 13:10:22.628 [debug] Current batch of media processed. Will check again in 1000ms 13:10:23.629 [debug] Current batch of media processed. Will check again in 1000ms 13:10:24.630 [debug] Current batch of media processed. Will check again in 1000ms 13:10:25.631 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://artificialanalysis.ai/\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" => 666, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091500_How are they Losing so Bad.mp4", "id" => "d3Gjq-BffuI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d3Gjq-BffuI", "playlist_index" => 18, "timestamp" => 1789473623, "title" => "How are they Losing so Bad", "upload_date" => "20260915"} 13:10:25.632 [debug] QUERY OK source="sources" db=0.1ms idle=1175.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:10:25.632 [debug] QUERY OK source="sources" db=0.1ms idle=1175.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:10:25.635 [debug] QUERY OK source="media_items" db=2.5ms idle=1175.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-15 12:00:23Z], 37] 13:10:25.636 [debug] QUERY OK source="media_items" db=0.7ms idle=1126.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 vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://artificialanalysis.ai/\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "How are they Losing so Bad", "ce0da768-82dd-4b34-b7d2-2148d272f60c", "d3Gjq-BffuI", 666, false, "https://www.youtube.com/watch?v=d3Gjq-BffuI", 18, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091500_How are they Losing so Bad.mp4", false, false, false, 37, [], 98, ~U[2026-09-15 12:00:23Z], ~U[2026-10-26 18:10:25Z], ~U[2026-10-26 18:10:25Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://artificialanalysis.ai/\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "How are they Losing so Bad", "d3Gjq-BffuI", 666, false, "https://www.youtube.com/watch?v=d3Gjq-BffuI", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091500_How are they Losing so Bad.mp4", false, 37, ~U[2026-09-15 12:00:23Z]] 13:10:25.636 [debug] QUERY OK source="sources" db=0.1ms idle=126.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:10:25.636 [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] 13:10:25.637 [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 [3923841] 13:10:25.637 [debug] Current batch of media processed. Will check again in 1000ms 13:10:26.637 [debug] Current batch of media processed. Will check again in 1000ms 13:10:27.638 [debug] Current batch of media processed. Will check again in 1000ms 13:10:28.639 [debug] Current batch of media processed. Will check again in 1000ms 13:10:29.306 [info] {"source":"oban","duration":7161,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:29.453 [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/a7/65/a76576d364b6b142f6c3abfe9f0f26f13b52df87b24ec58c2182258df2173d9a.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/98/4d/984d7fb52f8625beeca1612d38493617b22828547c21544f147ac1eda8ecdc4d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:10:29.454 [debug] Gracefully stopping file follower 13:10:29.454 [debug] QUERY OK source="sources" db=0.2ms idle=1997.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:10:29.455 [debug] QUERY OK source="sources" db=0.1ms idle=1998.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:10:29.457 [debug] QUERY OK source="media_items" db=2.3ms idle=1941.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-25 13:00:13Z], 37] 13:10:29.459 [debug] QUERY OK source="media_items" db=1.0ms idle=943.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" ["[Sponsor]\nGood morning! And in case we don't see ya, good afternoon, good evening, and good coffee! → ssh terminal.shop\n\nFull Episode:\nYoutube: https://youtu.be/Aw5rcawuxDQ\nSpotify: https://open.spotify.com/episode/5o8f1oGoPyfIKJPVL4PW9c\n\n[Description]\nThe number 4 is holding up the internet, HTTPS might be bad design, PHP is cooked, and Casey is addicted to Pokémon. The crew also ranks programming's most famous laws, from Conway and Brooks to Goodhart and Hofstadter, before inventing a few laws of their own.\n\n[Chapters]\n00:00:00 - Tier listing Programming Laws\n00:00:46 - Conway\n00:06:16 - Brooks\n00:13:54 - Mooers\n00:18:35 - Eagleson\n00:21:58 - Linus\n00:29:06 - Wirth\n00:30:45 - Cunningham\n00:35:06 - Goodhart\n00:46:59 - Hyrum\n00:48:16 - Hofstadter\n00:50:08 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Trash Dev, Casey Muratori, programming, software engineering, programming laws, Conway's Law, Brooks's Law, Goodhart's Law, Linus's Law, Hyrum's Law, Hofstadter's Law, Cunningham's Law, PHP, HTTPS, SSL certificates, certificate authority, eMudhra, cybersecurity, programming humor, developer podcast, software development, coding, tech podcast, Pokémon", "Programming Laws Tier list | TheStandup", "abf5a862-afec-4731-8a9e-e0669c5dc4f8", "Bye5avxGMKM", 3035, false, "https://www.youtube.com/watch?v=Bye5avxGMKM", 1, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102500_Programming Laws Tier list | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-10-25 13:00:13Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "[Sponsor]\nGood morning! And in case we don't see ya, good afternoon, good evening, and good coffee! → ssh terminal.shop\n\nFull Episode:\nYoutube: https://youtu.be/Aw5rcawuxDQ\nSpotify: https://open.spotify.com/episode/5o8f1oGoPyfIKJPVL4PW9c\n\n[Description]\nThe number 4 is holding up the internet, HTTPS might be bad design, PHP is cooked, and Casey is addicted to Pokémon. The crew also ranks programming's most famous laws, from Conway and Brooks to Goodhart and Hofstadter, before inventing a few laws of their own.\n\n[Chapters]\n00:00:00 - Tier listing Programming Laws\n00:00:46 - Conway\n00:06:16 - Brooks\n00:13:54 - Mooers\n00:18:35 - Eagleson\n00:21:58 - Linus\n00:29:06 - Wirth\n00:30:45 - Cunningham\n00:35:06 - Goodhart\n00:46:59 - Hyrum\n00:48:16 - Hofstadter\n00:50:08 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Trash Dev, Casey Muratori, programming, software engineering, programming laws, Conway's Law, Brooks's Law, Goodhart's Law, Linus's Law, Hyrum's Law, Hofstadter's Law, Cunningham's Law, PHP, HTTPS, SSL certificates, certificate authority, eMudhra, cybersecurity, programming humor, developer podcast, software development, coding, tech podcast, Pokémon", "Programming Laws Tier list | TheStandup", "Bye5avxGMKM", 3035, false, "https://www.youtube.com/watch?v=Bye5avxGMKM", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102500_Programming Laws Tier list | TheStandup.mp4", false, 37, ~U[2026-10-25 13:00:13Z]] 13:10:29.459 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [37] 13:10:29.462 [debug] QUERY OK source="media_items" db=2.2ms 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-10-24 02:58:57Z], 37] 13:10:29.463 [debug] QUERY OK source="media_items" db=0.6ms 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" ["Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://www.anthropic.com/threat-intelligence-report-september-2026\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", "OpenCode got hacked", "d4709ecb-97e2-4174-8d40-bc4202ea7126", "9OahTki4cPA", 771, false, "https://www.youtube.com/watch?v=9OahTki4cPA", 2, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102400_OpenCode got hacked.mp4", false, false, false, 37, [], 98, ~U[2026-10-24 02:58:57Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://www.anthropic.com/threat-intelligence-report-september-2026\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", "OpenCode got hacked", "9OahTki4cPA", 771, false, "https://www.youtube.com/watch?v=9OahTki4cPA", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102400_OpenCode got hacked.mp4", false, 37, ~U[2026-10-24 02:58:57Z]] 13:10:29.463 [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" = ?) [37] 13:10:29.466 [debug] QUERY OK source="media_items" db=2.3ms 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-10-22 12:42:47Z], 37] 13:10:29.467 [debug] QUERY OK source="media_items" db=0.9ms 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" ["I forget everything. Grok Bot doesn't. It runs my calendar, my reminders, and my to-do list. And my wife is happier. Try Grok Bot: https://trm.sh/bot\n\nSources:\n\n- https://x.com/markjaquith/status/2112700200829759970\n- https://x.com/hd_nvim/status/2112943574320820401\n- https://x.com/otomir23/status/2112697830687047918\n- https://fenko.nz/blog/emudhra-ca-compromise/?utm_source=chatgpt.com\n- https://emudhra.we-have-a-problem.com/?utm_source=chatgpt.com#macos-curl\n\nTopics Covered:\n\n- The eMudhra Hack\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", "There Is No Way This Is Real", "edfa67b2-b65b-4c37-963d-1b1061b0a0f3", "O905JwSgoi4", 511, false, "https://www.youtube.com/watch?v=O905JwSgoi4", 3, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102200_There Is No Way This Is Real.mp4", false, false, false, 37, [], 98, ~U[2026-10-22 12:42:47Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "I forget everything. Grok Bot doesn't. It runs my calendar, my reminders, and my to-do list. And my wife is happier. Try Grok Bot: https://trm.sh/bot\n\nSources:\n\n- https://x.com/markjaquith/status/2112700200829759970\n- https://x.com/hd_nvim/status/2112943574320820401\n- https://x.com/otomir23/status/2112697830687047918\n- https://fenko.nz/blog/emudhra-ca-compromise/?utm_source=chatgpt.com\n- https://emudhra.we-have-a-problem.com/?utm_source=chatgpt.com#macos-curl\n\nTopics Covered:\n\n- The eMudhra Hack\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", "There Is No Way This Is Real", "O905JwSgoi4", 511, false, "https://www.youtube.com/watch?v=O905JwSgoi4", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102200_There Is No Way This Is Real.mp4", false, 37, ~U[2026-10-22 12:42:47Z]] 13:10:29.468 [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" = ?) [37] 13:10:29.470 [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-10-21 15:00:37Z], 37] 13:10:29.472 [debug] QUERY OK source="media_items" db=1.2ms 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" ["[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/g4KsKFgARC4\nSpotify: https://open.spotify.com/episode/7ySTxLC7MBtG8koIf7gIIh\n\n[Description]\nThe Standup crew puts their detective skills to the test with a quiz about Dream's supposedly \"uncut\" Minecraft Manhunts. Can programmers spot the suspicious edits, hidden clues, and inconsistencies?\n\n[Chapters]\n00:00:00 - Intro\n00:07:13 - Question 1\n00:09:58 - Confession: What Happens During a Lag Spike?\n00:17:56 - Question 2\n00:22:23 - Question 3\n00:25:42 - Question 4\n00:27:49 - Question 5\n00:31:40 - Question 6\n00:37:04 - Ask Casey: When Is Data-Driven Design Worth It?\n00:43:11 - Question 7\n00:49:18 - Matrices\n00:52:27 - Ask Casey: What Should Run on the Wall Clock?\n00:54:59 - Question 8\n00:57:53 - Question 9\n00:59:58 - Jolt Cracker\n01:04:05 - Outro\n\n[Sources]\n@rubyswolf9767 \nhttps://www.youtube.com/watch?v=WsWNWzSwVUA\nhttps://dartjs.com/joltcracker\nhttps://mcsrc.dev/\nhttp://github.com/misode/mcmeta\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Casey Muratori, Trash Dev, Dream, Dream Minecraft, Minecraft, Minecraft Manhunt, Dream Manhunt, Dream cheating, Dream controversy, Fake Minecraft Manhunts, Minecraft cheating, Minecraft investigation, Minecraft drama, programming, programmers, game development, Minecraft game ticks, Minecraft hunger bar, Minecraft quiz, uncut manhunt, DarkSpark", "Programmers vs Dream's Fake Manhunts | TheStandup", "7aefaf6d-b1e8-40b3-a508-cd5788895f2c", "y2C0Zpnl6p0", 3875, false, "https://www.youtube.com/watch?v=y2C0Zpnl6p0", 4, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102100_Programmers vs Dream's Fake Manhunts | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-10-21 15:00:37Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/g4KsKFgARC4\nSpotify: https://open.spotify.com/episode/7ySTxLC7MBtG8koIf7gIIh\n\n[Description]\nThe Standup crew puts their detective skills to the test with a quiz about Dream's supposedly \"uncut\" Minecraft Manhunts. Can programmers spot the suspicious edits, hidden clues, and inconsistencies?\n\n[Chapters]\n00:00:00 - Intro\n00:07:13 - Question 1\n00:09:58 - Confession: What Happens During a Lag Spike?\n00:17:56 - Question 2\n00:22:23 - Question 3\n00:25:42 - Question 4\n00:27:49 - Question 5\n00:31:40 - Question 6\n00:37:04 - Ask Casey: When Is Data-Driven Design Worth It?\n00:43:11 - Question 7\n00:49:18 - Matrices\n00:52:27 - Ask Casey: What Should Run on the Wall Clock?\n00:54:59 - Question 8\n00:57:53 - Question 9\n00:59:58 - Jolt Cracker\n01:04:05 - Outro\n\n[Sources]\n@rubyswolf9767 \nhttps://www.youtube.com/watch?v=WsWNWzSwVUA\nhttps://dartjs.com/joltcracker\nhttps://mcsrc.dev/\nhttp://github.com/misode/mcmeta\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Casey Muratori, Trash Dev, Dream, Dream Minecraft, Minecraft, Minecraft Manhunt, Dream Manhunt, Dream cheating, Dream controversy, Fake Minecraft Manhunts, Minecraft cheating, Minecraft investigation, Minecraft drama, programming, programmers, game development, Minecraft game ticks, Minecraft hunger bar, Minecraft quiz, uncut manhunt, DarkSpark", "Programmers vs Dream's Fake Manhunts | TheStandup", "y2C0Zpnl6p0", 3875, false, "https://www.youtube.com/watch?v=y2C0Zpnl6p0", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102100_Programmers vs Dream's Fake Manhunts | TheStandup.mp4", false, 37, ~U[2026-10-21 15:00:37Z]] 13:10:29.472 [debug] QUERY OK source="sources" db=0.4ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:10:29.475 [debug] QUERY OK source="media_items" db=2.1ms idle=5.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 19:30:29Z], 37] 13:10:29.492 [debug] QUERY OK source="media_items" db=17.0ms 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" ["Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://blog.cloudflare.com/durable-objects-ga/\n- https://x.com/rough__sea/status/2105853283617440032\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 Real Reason", "cfd6cdec-dd9d-4362-9a64-cd1b3baa8722", "5WyoCv68Sok", 785, false, "https://www.youtube.com/watch?v=5WyoCv68Sok", 5, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101900_The Real Reason.mp4", false, false, false, 37, [], 98, ~U[2026-10-19 19:30:29Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://blog.cloudflare.com/durable-objects-ga/\n- https://x.com/rough__sea/status/2105853283617440032\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 Real Reason", "5WyoCv68Sok", 785, false, "https://www.youtube.com/watch?v=5WyoCv68Sok", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101900_The Real Reason.mp4", false, 37, ~U[2026-10-19 19:30:29Z]] 13:10:29.493 [debug] QUERY OK source="sources" db=0.5ms idle=22.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:10:29.495 [debug] QUERY OK source="media_items" db=2.2ms idle=21.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 12:35:38Z], 37] 13:10:29.500 [debug] QUERY OK source="media_items" db=4.7ms idle=23.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" ["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\n- https://www.anthropic.com/news/2026-usage-policy-update\n- https://x.com/tekbog/status/1955031936633622788\n- https://x.com/Yuchenj_UW/status/2108394698482368527\n- https://x.com/thepirateface/status/2106141859022266721\n- https://x.com/ForrestPKnight/status/2108549285427958145\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", "Anthropic says No More", "6b35db71-7f4a-49d5-9edb-131fdce8d5cc", "ASY_H2nLG8g", 637, false, "https://www.youtube.com/watch?v=ASY_H2nLG8g", 6, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101500_Anthropic says No More.mp4", false, false, false, 37, [], 98, ~U[2026-10-15 12:35:38Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "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\n- https://www.anthropic.com/news/2026-usage-policy-update\n- https://x.com/tekbog/status/1955031936633622788\n- https://x.com/Yuchenj_UW/status/2108394698482368527\n- https://x.com/thepirateface/status/2106141859022266721\n- https://x.com/ForrestPKnight/status/2108549285427958145\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", "Anthropic says No More", "ASY_H2nLG8g", 637, false, "https://www.youtube.com/watch?v=ASY_H2nLG8g", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101500_Anthropic says No More.mp4", false, 37, ~U[2026-10-15 12:35:38Z]] 13:10:29.501 [debug] QUERY OK source="sources" db=0.4ms idle=25.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:10:29.503 [debug] QUERY OK source="media_items" db=2.1ms 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-10-12 13:00:37Z], 37] 13:10:29.504 [debug] QUERY OK source="media_items" db=0.7ms 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" ["Sentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nSources:\n- https://x.com/mitsuhiko/status/2101401648543195328\n- https://x.com/setkyarwalar/status/2101414207015322005\n- https://x.com/joshuajbrunner/status/2101436015260954766\n- https://x.com/chiefclawofficr/status/2101420952697311669\n- https://x.com/ryxcommar/status/2101407274174411099\n- https://x.com/avrldotdev/status/2101408145268777250\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", "It’s not just you", "87d20165-f80a-488c-ad8e-49229ea60324", "FlWII9xFabo", 1120, false, "https://www.youtube.com/watch?v=FlWII9xFabo", 7, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101200_It’s not just you.mp4", false, false, false, 37, [], 98, ~U[2026-10-12 13:00:37Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "Sentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nSources:\n- https://x.com/mitsuhiko/status/2101401648543195328\n- https://x.com/setkyarwalar/status/2101414207015322005\n- https://x.com/joshuajbrunner/status/2101436015260954766\n- https://x.com/chiefclawofficr/status/2101420952697311669\n- https://x.com/ryxcommar/status/2101407274174411099\n- https://x.com/avrldotdev/status/2101408145268777250\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", "It’s not just you", "FlWII9xFabo", 1120, false, "https://www.youtube.com/watch?v=FlWII9xFabo", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101200_It’s not just you.mp4", false, 37, ~U[2026-10-12 13:00:37Z]] 13:10:29.505 [debug] QUERY OK source="sources" db=0.2ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:10:29.507 [debug] QUERY OK source="media_items" db=2.1ms 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-10-11 15:00:31Z], 37] 13:10:29.509 [debug] QUERY OK source="media_items" db=1.1ms 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" ["[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode:\nYoutube: https://youtu.be/1UA0i2fpl0Y\nSpotify: https://open.spotify.com/episode/44Q10039DWZ3KDuW1p4isc\n\n[Description]\nWhat happens when AI can decompile entire games and mash them together? Prime, Teej, Casey Muratori, and Trash discuss the decompilation revolution, game preservation, AI-generated code, copyright concerns, and whether game studios can protect their work. Plus, everyone pitches their dream video game mashups, from Pokémon to StarCraft.\n\n[Chapters]\n00:00:00 - Intro\n00:01:23 - Decompiling and Mashing Games\n00:04:43 - Sentry\n00:06:52 - Different kinds of mashing\n00:10:03 - Decomping at Game Studios\n00:12:15 - Retro Preservation\n00:20:15 - AI PRs & Decomp Communities\n00:22:56 - Adobe Suite Decomp & Is any of this legal?\n00:27:53 - Gaming Industry Info Sharing\n00:31:03 - Are they going to stop shipping binaries?\n00:33:51 - Consequences of Piracy\n\n[Sources]\nCasey on Peterman Podcast: https://www.youtube.com/watch?v=jHLbL1Eg4gM\nMashups: https://x.com/chasmmmmmmmmmmm/status/2105707774646562818\nCOD in Skate: https://x.com/chasmmmmmmmmmmm/status/2104349115521888748\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\ntheprimeagen, teej_dv, casey muratori, trash dev, the standup, game decompilation, reverse engineering, AI decompilation, AI coding, video game mashups, game modding, game preservation, retro gaming, game development, game engines, AI generated code, copyright, software piracy, nintendo, pokemon, starcraft, halo, animal crossing, adobe, anti cheat, programming podcast", "AI Is Decompiling Every Game | TheStandup", "733df7f8-73db-4ef6-85b7-046ab4063fc2", "s95Q7D0WR40", 2384, false, "https://www.youtube.com/watch?v=s95Q7D0WR40", 8, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101100_AI Is Decompiling Every Game | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-10-11 15:00:31Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode:\nYoutube: https://youtu.be/1UA0i2fpl0Y\nSpotify: https://open.spotify.com/episode/44Q10039DWZ3KDuW1p4isc\n\n[Description]\nWhat happens when AI can decompile entire games and mash them together? Prime, Teej, Casey Muratori, and Trash discuss the decompilation revolution, game preservation, AI-generated code, copyright concerns, and whether game studios can protect their work. Plus, everyone pitches their dream video game mashups, from Pokémon to StarCraft.\n\n[Chapters]\n00:00:00 - Intro\n00:01:23 - Decompiling and Mashing Games\n00:04:43 - Sentry\n00:06:52 - Different kinds of mashing\n00:10:03 - Decomping at Game Studios\n00:12:15 - Retro Preservation\n00:20:15 - AI PRs & Decomp Communities\n00:22:56 - Adobe Suite Decomp & Is any of this legal?\n00:27:53 - Gaming Industry Info Sharing\n00:31:03 - Are they going to stop shipping binaries?\n00:33:51 - Consequences of Piracy\n\n[Sources]\nCasey on Peterman Podcast: https://www.youtube.com/watch?v=jHLbL1Eg4gM\nMashups: https://x.com/chasmmmmmmmmmmm/status/2105707774646562818\nCOD in Skate: https://x.com/chasmmmmmmmmmmm/status/2104349115521888748\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\ntheprimeagen, teej_dv, casey muratori, trash dev, the standup, game decompilation, reverse engineering, AI decompilation, AI coding, video game mashups, game modding, game preservation, retro gaming, game development, game engines, AI generated code, copyright, software piracy, nintendo, pokemon, starcraft, halo, animal crossing, adobe, anti cheat, programming podcast", "AI Is Decompiling Every Game | TheStandup", "s95Q7D0WR40", 2384, false, "https://www.youtube.com/watch?v=s95Q7D0WR40", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101100_AI Is Decompiling Every Game | TheStandup.mp4", false, 37, ~U[2026-10-11 15:00:31Z]] 13:10:29.509 [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" = ?) [37] 13:10:29.511 [debug] QUERY OK source="media_items" db=2.1ms idle=4.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-09 17:17:19Z], 37] 13:10:29.513 [debug] QUERY OK source="media_items" db=0.8ms 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" ["Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\n[Chapters]\n00:00:00 - Why are Mathematicians so mad?\n00:01:34 - WorkOS\n00:02:19 - Mathematical Misalignment\n00:03:55 - The Problems\n00:04:27 - No more Proof fanfair \n00:05:50 - Lean\n00:07:08 - Math Humans Can't Do\n00:10:00 - Perspectives\n00:11:38 - Four-minute mile\n00:13:53 - Heart & Understanding\n00:15:16 - Purpose\n00:15:47 - Reddit Weirdos\n00:16:33 - The Next Generation\n\nSources:\nOpenAI announcement: https://x.com/OpenAI/status/2107596713791767021\nFaster than n log n (AcerFur): https://x.com/AcerFur/status/2107606747972309163\nImproving n log n (Doug Colkitt): https://x.com/0xdoug/status/2107658319632433524\nhttps://x.com/0xdoug/status/2107832360527913445\nhttps://x.com/0xdoug/status/2107917690568327225\nhttps://x.com/0xdoug/status/2107994110644588859\nhttps://x.com/0xdoug/status/2108005950632214824\nFibonacci squares paper (David Budden): https://x.com/davidmbudden/status/2107646435659481548\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 Mathematics are Mad", "40e4887e-cf9d-41f8-abf8-5c4fdc19ce04", "WXh4LF3zJ1Q", 1059, false, "https://www.youtube.com/watch?v=WXh4LF3zJ1Q", 9, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100900_The Mathematics are Mad.mp4", false, false, false, 37, [], 98, ~U[2026-10-09 17:17:19Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\n[Chapters]\n00:00:00 - Why are Mathematicians so mad?\n00:01:34 - WorkOS\n00:02:19 - Mathematical Misalignment\n00:03:55 - The Problems\n00:04:27 - No more Proof fanfair \n00:05:50 - Lean\n00:07:08 - Math Humans Can't Do\n00:10:00 - Perspectives\n00:11:38 - Four-minute mile\n00:13:53 - Heart & Understanding\n00:15:16 - Purpose\n00:15:47 - Reddit Weirdos\n00:16:33 - The Next Generation\n\nSources:\nOpenAI announcement: https://x.com/OpenAI/status/2107596713791767021\nFaster than n log n (AcerFur): https://x.com/AcerFur/status/2107606747972309163\nImproving n log n (Doug Colkitt): https://x.com/0xdoug/status/2107658319632433524\nhttps://x.com/0xdoug/status/2107832360527913445\nhttps://x.com/0xdoug/status/2107917690568327225\nhttps://x.com/0xdoug/status/2107994110644588859\nhttps://x.com/0xdoug/status/2108005950632214824\nFibonacci squares paper (David Budden): https://x.com/davidmbudden/status/2107646435659481548\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 Mathematics are Mad", "WXh4LF3zJ1Q", 1059, false, "https://www.youtube.com/watch?v=WXh4LF3zJ1Q", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100900_The Mathematics are Mad.mp4", false, 37, ~U[2026-10-09 17:17:19Z]] 13:10:29.513 [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" = ?) [37] 13:10:29.515 [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-10-05 13:00:10Z], 37] 13:10:29.519 [debug] QUERY OK source="media_items" db=2.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" ["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.youtube.com/watch?v=4A_Kkb9w5bw\n- https://www.youtube.com/watch?v=86j8zOsmNFE&t=72s\n- https://www.youtube.com/watch?v=V7PYQCXdX3A \n- https://www.youtube.com/watch?v=IY2j_GPIqRA\n- https://www.youtube.com/watch?v=6ypXfodOu-s&t=657s \n- https://www.youtube.com/watch?v=JDJVDYwhlHI&t=529s \n- https://www.youtube.com/watch?v=DgJS2tQPGKQ \n- https://www.youtube.com/watch?v=N5lKoGH76JQ \n- https://devblogs.microsoft.com/oldnewthing/20100112-01/?p=15303/ \n- https://innovation.world/steve-ballmer-windows-1986/\n- https://www.upi.com/Archives/1982/04/27/800-phone-number-response-centers-grow-in-Nebraska-despite-recession/3307388728000/ \n\nTopics Covered:\n\n- Old Windows commercials\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", "WTF Microsoft", "f399b91a-4b85-4d9e-a88a-45c0e4c76fd5", "aS3XxRz03co", 966, false, "https://www.youtube.com/watch?v=aS3XxRz03co", 10, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100500_WTF Microsoft.mp4", false, false, false, 37, [], 98, ~U[2026-10-05 13:00:10Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "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.youtube.com/watch?v=4A_Kkb9w5bw\n- https://www.youtube.com/watch?v=86j8zOsmNFE&t=72s\n- https://www.youtube.com/watch?v=V7PYQCXdX3A \n- https://www.youtube.com/watch?v=IY2j_GPIqRA\n- https://www.youtube.com/watch?v=6ypXfodOu-s&t=657s \n- https://www.youtube.com/watch?v=JDJVDYwhlHI&t=529s \n- https://www.youtube.com/watch?v=DgJS2tQPGKQ \n- https://www.youtube.com/watch?v=N5lKoGH76JQ \n- https://devblogs.microsoft.com/oldnewthing/20100112-01/?p=15303/ \n- https://innovation.world/steve-ballmer-windows-1986/\n- https://www.upi.com/Archives/1982/04/27/800-phone-number-response-centers-grow-in-Nebraska-despite-recession/3307388728000/ \n\nTopics Covered:\n\n- Old Windows commercials\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", "WTF Microsoft", "aS3XxRz03co", 966, false, "https://www.youtube.com/watch?v=aS3XxRz03co", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100500_WTF Microsoft.mp4", false, 37, ~U[2026-10-05 13:00:10Z]] 13:10:29.519 [debug] QUERY OK source="sources" db=0.1ms 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] 13:10:29.521 [debug] QUERY OK source="media_items" db=2.1ms 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-10-03 03:48:31Z], 37] 13:10:29.522 [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" ["Sandbox aren't enough. Your agents need a devbox. A full development environment with all your dependencies. https://trm.sh/namespace\n\nSources:\n\n- https://openai.com/index/devday-2026-recap/\n- https://openai.com/index/introducing-dots/\n- https://openai.com/index/cerebras-partnership/\n- https://openai.com/index/previewing-ultrafast/\n- https://www.cerebras.ai/blog/accelerating-gpt-5-6-sol-ultrafast-with-openai\n- https://www.reuters.com/technology/openai-buy-compute-capacity-startup-cerebras-around-10-billion-wsj-reports-2026-01-14/\n- https://www.reuters.com/business/openai-shelves-new-ai-model-after-internal-safety-tests-wsj-reports-2026-09-28/\n- https://help.openai.com/en/articles/9793128\n- https://x.com/thsottiaux/status/2104823812042940713\n- https://x.com/SemiAnalysis_/status/2105055045959995719\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", "A total disaster", "e6b0a9f3-0432-44a2-9e65-31e2e27170db", "p0fybvFyOlM", 799, false, "https://www.youtube.com/watch?v=p0fybvFyOlM", 11, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100300_A total disaster.mp4", false, false, false, 37, [], 98, ~U[2026-10-03 03:48:31Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "Sandbox aren't enough. Your agents need a devbox. A full development environment with all your dependencies. https://trm.sh/namespace\n\nSources:\n\n- https://openai.com/index/devday-2026-recap/\n- https://openai.com/index/introducing-dots/\n- https://openai.com/index/cerebras-partnership/\n- https://openai.com/index/previewing-ultrafast/\n- https://www.cerebras.ai/blog/accelerating-gpt-5-6-sol-ultrafast-with-openai\n- https://www.reuters.com/technology/openai-buy-compute-capacity-startup-cerebras-around-10-billion-wsj-reports-2026-01-14/\n- https://www.reuters.com/business/openai-shelves-new-ai-model-after-internal-safety-tests-wsj-reports-2026-09-28/\n- https://help.openai.com/en/articles/9793128\n- https://x.com/thsottiaux/status/2104823812042940713\n- https://x.com/SemiAnalysis_/status/2105055045959995719\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", "A total disaster", "p0fybvFyOlM", 799, false, "https://www.youtube.com/watch?v=p0fybvFyOlM", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100300_A total disaster.mp4", false, 37, ~U[2026-10-03 03:48:31Z]] 13:10:29.523 [debug] QUERY OK source="sources" db=0.3ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:10:29.525 [debug] QUERY OK source="media_items" db=2.1ms 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-09-29 15:24:56Z], 37] 13:10:29.526 [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" ["Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. \nhttps://trm.sh/namespace-github-actions\n\nLike this video check out the playlist here: https://www.youtube.com/playlist?list=PLV5iO6tVgf1s\n\nChapters:\n00:00 - Intro\n01:18 - Namespace\n02:04 - Early life & Education\n02:52 - Quick Sort\n04:48 - Elliot Brothers\n05:58 - ALGOL W (billion dollar mistake)\n07:06 - the true cost of nul pointer\n08:20 - Communicating Sequential Processes (CSP)\n10:14 - Quotes\n11:21 - Sir Tony Hoare\n12:00 - Outro\n\nSources:\n\n- https://en.wikipedia.org/wiki/Quicksort\n- https://en.wikipedia.org/wiki/Hoare_logic\n- https://en.wikipedia.org/wiki/Communicating_sequential_processes\n- https://en.wikipedia.org/wiki/Null_pointer#History\n- https://en.wikipedia.org/wiki/Unifying_Theories_of_Programming\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", "He Realized his Mistake", "92246778-22c2-4dd2-917c-90530e84d753", "jF3W7EkXd4k", 734, false, "https://www.youtube.com/watch?v=jF3W7EkXd4k", 12, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092900_He Realized his Mistake.mp4", false, false, false, 37, [], 98, ~U[2026-09-29 15:24:56Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. \nhttps://trm.sh/namespace-github-actions\n\nLike this video check out the playlist here: https://www.youtube.com/playlist?list=PLV5iO6tVgf1s\n\nChapters:\n00:00 - Intro\n01:18 - Namespace\n02:04 - Early life & Education\n02:52 - Quick Sort\n04:48 - Elliot Brothers\n05:58 - ALGOL W (billion dollar mistake)\n07:06 - the true cost of nul pointer\n08:20 - Communicating Sequential Processes (CSP)\n10:14 - Quotes\n11:21 - Sir Tony Hoare\n12:00 - Outro\n\nSources:\n\n- https://en.wikipedia.org/wiki/Quicksort\n- https://en.wikipedia.org/wiki/Hoare_logic\n- https://en.wikipedia.org/wiki/Communicating_sequential_processes\n- https://en.wikipedia.org/wiki/Null_pointer#History\n- https://en.wikipedia.org/wiki/Unifying_Theories_of_Programming\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", "He Realized his Mistake", "jF3W7EkXd4k", 734, false, "https://www.youtube.com/watch?v=jF3W7EkXd4k", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092900_He Realized his Mistake.mp4", false, 37, ~U[2026-09-29 15:24:56Z]] 13:10:29.527 [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] 13:10:29.529 [debug] QUERY OK source="media_items" db=2.1ms 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-09-27 13:00:01Z], 37] 13:10:29.530 [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" ["[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/Ag3nn9BgWP0\nSpotify: https://open.spotify.com/episode/1A82BUfwmLOUtZZwuaOOqs\n\n[Description]\nLegendary programmer and game developer Casey Muratori ruthlessly judges the digging games we made!\n\n[Chapters]\n00:00:00 - Digging Games Intro\n00:03:39 - Linear\n00:04:18 - Trash has things to say\n00:07:04 - Trash’s first game ideas\n00:16:54 - Trash’s Digging game\n00:21:35 - qwerop\n00:28:24 - Teej’s first game (Receipts app the game)\n00:36:40 - Prime’s Game\n00:41:25 - Teej’s Digging Game\n00:46:23 - Casey’s Judgement\n00:54:11 - Outro\n\n[Sources]\nTrash Games\nhttps://qwerop.com\n\nTeej Games\nhttps://dig-deep.trm.sh/\nhttps://gravel-empire.trm.sh/\n\nPrime Games\nhttps://beatdig.trm.sh/\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nDHH: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nCasey Muratori, game development, gamedev, indie game dev, game design, coding, game programming, TheStandupPod, digging games, game review, programming challenge, indie dev showcase", "Casey Muratori Judges Our Digging Games | TheStandup", "8e28467f-a0f9-4d9a-96e1-a10ca8e47b9a", "W9-UG1hvMYs", 3277, false, "https://www.youtube.com/watch?v=W9-UG1hvMYs", 13, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092700_Casey Muratori Judges Our Digging Games | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-09-27 13:00:01Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/Ag3nn9BgWP0\nSpotify: https://open.spotify.com/episode/1A82BUfwmLOUtZZwuaOOqs\n\n[Description]\nLegendary programmer and game developer Casey Muratori ruthlessly judges the digging games we made!\n\n[Chapters]\n00:00:00 - Digging Games Intro\n00:03:39 - Linear\n00:04:18 - Trash has things to say\n00:07:04 - Trash’s first game ideas\n00:16:54 - Trash’s Digging game\n00:21:35 - qwerop\n00:28:24 - Teej’s first game (Receipts app the game)\n00:36:40 - Prime’s Game\n00:41:25 - Teej’s Digging Game\n00:46:23 - Casey’s Judgement\n00:54:11 - Outro\n\n[Sources]\nTrash Games\nhttps://qwerop.com\n\nTeej Games\nhttps://dig-deep.trm.sh/\nhttps://gravel-empire.trm.sh/\n\nPrime Games\nhttps://beatdig.trm.sh/\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nDHH: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nCasey Muratori, game development, gamedev, indie game dev, game design, coding, game programming, TheStandupPod, digging games, game review, programming challenge, indie dev showcase", "Casey Muratori Judges Our Digging Games | TheStandup", "W9-UG1hvMYs", 3277, false, "https://www.youtube.com/watch?v=W9-UG1hvMYs", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092700_Casey Muratori Judges Our Digging Games | TheStandup.mp4", false, 37, ~U[2026-09-27 13:00:01Z]] 13:10:29.530 [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] 13:10:29.533 [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-09-25 17:23:17Z], 37] 13:10:29.534 [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" ["Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- Primary: https://x.com/CompleteSkeptic/status/2099925682726002904\n- Mau Baron demo: https://x.com/maubaron/status/2100738237237002706\n- Feed filter ext: https://x.com/marcelpociot/status/2100520134481735729\n- WhatsApp scam radar: https://x.com/itscellou/status/2101721165719089434\n- Flights browser agent: https://x.com/opc0de3/status/2100582579565105561\n- More X demos listed under Resources → Coolest Demos\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", "Computer Use is Solved?", "0a74dce1-acd7-484d-975f-df21edf88626", "BHPDsGVciDk", 727, false, "https://www.youtube.com/watch?v=BHPDsGVciDk", 14, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092500_Computer Use is Solved?.mp4", false, false, false, 37, [], 97, ~U[2026-09-25 17:23:17Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- Primary: https://x.com/CompleteSkeptic/status/2099925682726002904\n- Mau Baron demo: https://x.com/maubaron/status/2100738237237002706\n- Feed filter ext: https://x.com/marcelpociot/status/2100520134481735729\n- WhatsApp scam radar: https://x.com/itscellou/status/2101721165719089434\n- Flights browser agent: https://x.com/opc0de3/status/2100582579565105561\n- More X demos listed under Resources → Coolest Demos\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", "Computer Use is Solved?", "BHPDsGVciDk", 727, false, "https://www.youtube.com/watch?v=BHPDsGVciDk", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092500_Computer Use is Solved?.mp4", false, 37, ~U[2026-09-25 17:23:17Z]] 13:10:29.534 [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" = ?) [37] 13:10:29.536 [debug] QUERY OK source="media_items" db=2.1ms 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-09-23 12:00:29Z], 37] 13:10:29.537 [debug] QUERY OK source="media_items" db=0.6ms 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" ["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- https://x.com/v0xium/status/2101526107128529120\n- https://x.com/JonathanRoss321/status/2049901596054798774\n- https://x.com/mitchellh/status/2100249348345057389\n- https://x.com/nicbarkeragain/status/2100345337831711083\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 can’t take it anymore", "13123d9c-1171-4557-9aff-4128010e149b", "iuccfEQgIeY", 596, false, "https://www.youtube.com/watch?v=iuccfEQgIeY", 15, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092300_They can’t take it anymore.mp4", false, false, false, 37, [], 98, ~U[2026-09-23 12:00:29Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "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- https://x.com/v0xium/status/2101526107128529120\n- https://x.com/JonathanRoss321/status/2049901596054798774\n- https://x.com/mitchellh/status/2100249348345057389\n- https://x.com/nicbarkeragain/status/2100345337831711083\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 can’t take it anymore", "iuccfEQgIeY", 596, false, "https://www.youtube.com/watch?v=iuccfEQgIeY", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092300_They can’t take it anymore.mp4", false, 37, ~U[2026-09-23 12:00:29Z]] 13:10:29.538 [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] 13:10:29.540 [debug] QUERY OK source="media_items" db=2.0ms 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-09-19 01:44:08Z], 37] 13:10:29.541 [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" ["Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://x.com/hilbertspaess/status/2097476196791709843\n- https://x.com/hilbertspaess/status/2099960188702957776\n- https://x.com/EvanHub/status/2097497037956891126\n- https://www.axios.com/2025/09/17/anthropic-dario-amodei-p-doom-25-percent\n- https://darioamodei.com/post/we-must-pace-the-frontier\n- https://x.com/ParkerThayer/status/2097759699626328575\n\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 can’t believe this is happening", "e0e0cf66-b3b9-47e6-96f0-0d01927b25ae", "W8IVKMGbUZE", 870, false, "https://www.youtube.com/watch?v=W8IVKMGbUZE", 16, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091900_I can’t believe this is happening.mp4", false, false, false, 37, [], 98, ~U[2026-09-19 01:44:08Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://x.com/hilbertspaess/status/2097476196791709843\n- https://x.com/hilbertspaess/status/2099960188702957776\n- https://x.com/EvanHub/status/2097497037956891126\n- https://www.axios.com/2025/09/17/anthropic-dario-amodei-p-doom-25-percent\n- https://darioamodei.com/post/we-must-pace-the-frontier\n- https://x.com/ParkerThayer/status/2097759699626328575\n\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 can’t believe this is happening", "W8IVKMGbUZE", 870, false, "https://www.youtube.com/watch?v=W8IVKMGbUZE", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091900_I can’t believe this is happening.mp4", false, 37, ~U[2026-09-19 01:44:08Z]] 13:10:29.541 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:10:29.543 [debug] QUERY OK source="media_items" db=2.1ms 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-09-17 12:00:15Z], 37] 13:10:29.548 [debug] QUERY OK source="media_items" db=4.0ms 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" ["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- https://www.benjoffe.com/fast-day-of-week\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 Date Hack", "0f8b818e-3078-430f-8158-d68bbc0e1a54", "0UiMf5dV4_Y", 680, false, "https://www.youtube.com/watch?v=0UiMf5dV4_Y", 17, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091700_The Date Hack.mp4", false, false, false, 37, [], 98, ~U[2026-09-17 12:00:15Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "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- https://www.benjoffe.com/fast-day-of-week\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 Date Hack", "0UiMf5dV4_Y", 680, false, "https://www.youtube.com/watch?v=0UiMf5dV4_Y", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091700_The Date Hack.mp4", false, 37, ~U[2026-09-17 12:00:15Z]] 13:10:29.548 [debug] QUERY OK source="sources" db=0.3ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:10:29.551 [debug] QUERY OK source="media_items" db=2.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-09-15 12:00:23Z], 37] 13:10:29.552 [debug] QUERY OK source="media_items" db=0.5ms 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" ["Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://artificialanalysis.ai/\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "How are they Losing so Bad", "b9e22c96-f222-4a81-a19f-f2c236d95cc6", "d3Gjq-BffuI", 666, false, "https://www.youtube.com/watch?v=d3Gjq-BffuI", 18, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091500_How are they Losing so Bad.mp4", false, false, false, 37, [], 98, ~U[2026-09-15 12:00:23Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://artificialanalysis.ai/\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "How are they Losing so Bad", "d3Gjq-BffuI", 666, false, "https://www.youtube.com/watch?v=d3Gjq-BffuI", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091500_How are they Losing so Bad.mp4", false, 37, ~U[2026-09-15 12:00:23Z]] 13:10:29.552 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [37] 13:10:29.555 [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-09-12 15:00:21Z], 37] 13:10:29.556 [debug] QUERY OK source="media_items" db=0.9ms 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" ["[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode\nYoutube: https://youtu.be/VeCptqGSahs\nSpotify: https://open.spotify.com/episode/53Bkor85uRw5bN9fl6Kjd8\n\n[Description]\nThe Standup dives into the future of developer tools, from GitHub’s move deeper into Microsoft’s AI organization and the fight over LLM training on open-source code to TJ’s attempt to turn Neovim into a full GUI. Plus: vibe-coded games, Pokémon vending machine PvP, and Prime turns 40.\n\n[Chapters]\n00:00:00 - Intro\n00:00:40 - Neovim GUI\n00:02:07 - Sentry\n00:04:17 - back to Neovim GUI\n00:06:03 - Right Click Menu / context menu\n00:07:37 - Floating Markdown\n00:11:03 - in editor brain rot\n00:13:32 - Cursor SDK built-in\n00:15:57 - Drawn References\n00:18:45 - Color Scheme modifier\n00:23:56 - It runs DOOM\n00:24:42 - How many languages now?\n00:26:55 - Linear Integration\n00:28:40 - What’s the competition look like?\n00:30:47 - Daemon\n00:32:21 - Ratings\n00:39:10 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]", "TUI or GUI", "72d00031-3b5a-4992-83e3-09cda39b6c96", "Ay3wo9LdRwQ", 2375, false, "https://www.youtube.com/watch?v=Ay3wo9LdRwQ", 19, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091200_TUI or GUI.mp4", false, false, false, 37, [], 98, ~U[2026-09-12 15:00:21Z], ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], "[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode\nYoutube: https://youtu.be/VeCptqGSahs\nSpotify: https://open.spotify.com/episode/53Bkor85uRw5bN9fl6Kjd8\n\n[Description]\nThe Standup dives into the future of developer tools, from GitHub’s move deeper into Microsoft’s AI organization and the fight over LLM training on open-source code to TJ’s attempt to turn Neovim into a full GUI. Plus: vibe-coded games, Pokémon vending machine PvP, and Prime turns 40.\n\n[Chapters]\n00:00:00 - Intro\n00:00:40 - Neovim GUI\n00:02:07 - Sentry\n00:04:17 - back to Neovim GUI\n00:06:03 - Right Click Menu / context menu\n00:07:37 - Floating Markdown\n00:11:03 - in editor brain rot\n00:13:32 - Cursor SDK built-in\n00:15:57 - Drawn References\n00:18:45 - Color Scheme modifier\n00:23:56 - It runs DOOM\n00:24:42 - How many languages now?\n00:26:55 - Linear Integration\n00:28:40 - What’s the competition look like?\n00:30:47 - Daemon\n00:32:21 - Ratings\n00:39:10 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]", "TUI or GUI", "Ay3wo9LdRwQ", 2375, false, "https://www.youtube.com/watch?v=Ay3wo9LdRwQ", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091200_TUI or GUI.mp4", false, 37, ~U[2026-09-12 15:00:21Z]] 13:10:29.556 [debug] QUERY OK source="sources" db=0.3ms idle=5.2ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z], 37] 13:10:29.559 [debug] QUERY OK source="media_items" db=2.4ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 13:10:29.584 [debug] QUERY OK source="media_items" db=2.4ms idle=3.2ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [37] 13:10:29.585 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [37] 13:10:29.587 [debug] QUERY OK source="tasks" db=1.5ms idle=3.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541483, 37, ~U[2026-10-26 18:10:29Z], ~U[2026-10-26 18:10:29Z]] 13:10:29.588 [info] {"args":{"id":37},"id":541379,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":75159387,"event":"job:stop","queue_time":801866,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:10:59.317 [info] {"source":"oban","duration":10168,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":2} 13:11:00.225 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:11:29.325 [info] {"source":"oban","duration":6614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:59.332 [info] {"source":"oban","duration":7124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.226 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:12:29.339 [info] {"source":"oban","duration":6283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:12:45.687 [info] {"args":{"id":52},"id":541480,"meta":{},"system_time":1793038365687585081,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:45.688 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [52] 13:12:45.688 [debug] QUERY OK source="settings" db=0.1ms idle=230.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:45.689 [debug] QUERY OK source="media_profiles" db=0.7ms idle=230.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] 13:12:45.689 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:45.689 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 13:12:46.110 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 13:12:46.111 [debug] QUERY OK source="media_items" db=0.4ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 13:12:46.113 [debug] QUERY OK source="media_items" db=0.9ms idle=424.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] 13:12:46.117 [debug] QUERY OK source="tasks" db=0.1ms idle=427.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541484, 1301334, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.121 [debug] QUERY OK source="tasks" db=0.2ms idle=3.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541485, 1301335, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.124 [info] {"args":{"id":1301335},"id":541485,"meta":{},"system_time":1793038366124051107,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:46.124 [info] {"args":{"id":1301334},"id":541484,"meta":{},"system_time":1793038366123989347,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:46.124 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 13:12:46.124 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:46.124 [debug] QUERY OK source="media_items" db=0.6ms idle=3.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] 13:12:46.125 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:46.125 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms 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] 13:12:46.125 [debug] QUERY OK source="tasks" db=0.6ms idle=0.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541486, 1301347, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.125 [debug] QUERY OK source="sources" db=0.6ms idle=0.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:12:46.126 [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] 13:12:46.126 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 13:12:46.126 [debug] QUERY OK source="media_items" db=0.3ms idle=0.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1301334] 13:12:46.127 [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 [1301335] 13:12:46.129 [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" [541487, 1301392, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.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" [541488, 1301393, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.132 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301334] 13:12:46.133 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 13:12:46.133 [debug] QUERY OK source="media_metadata" db=0.4ms idle=1.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [1301335] 13:12:46.134 [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 [] 13:12:46.134 [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] 13:12:46.134 [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 [] 13:12:46.134 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:46.134 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:46.135 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:46.135 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:46.135 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:46.135 [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 [] 13:12:46.135 [debug] QUERY OK source="tasks" db=0.2ms idle=0.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541489, 1301394, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.136 [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 [] 13:12:46.136 [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/b0/08/b0082b955fcb2ca24908735de5cae19a4b4f2b5f6cb6dbe1fb43e0fdc50e13df.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:46.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 [] 13:12:46.137 [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 [] 13:12:46.137 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:46.137 [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/6d/9b/6d9b194a7edd80a6bbb7784ac1a70050fd036ea3852b5a7d00263f396d3ec5d5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:46.139 [debug] QUERY OK source="tasks" db=0.1ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541490, 1301395, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.142 [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" [541491, 1301397, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.145 [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" [541492, 1301398, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.148 [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" [541493, 1301399, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.151 [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" [541494, 1301400, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.154 [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" [541495, 2720968, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.156 [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" [541496, 3440530, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.159 [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" [541497, 3675707, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.160 [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" [541498, 52, ~U[2026-10-26 18:12:46Z], ~U[2026-10-26 18:12:46Z]] 13:12:46.161 [info] {"args":{"id":52},"id":541480,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":473080,"event":"job:stop","queue_time":333678,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:47.930 [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/6d/9b/6d9b194a7edd80a6bbb7784ac1a70050fd036ea3852b5a7d00263f396d3ec5d5.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. 13:12:47.930 [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" 13:12:47.930 [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" 13:12:47.931 [info] {"args":{"id":1301335},"id":541485,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1806687,"event":"job:stop","queue_time":122502,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:47.937 [info] {"args":{"id":1301347},"id":541486,"meta":{},"system_time":1793038367937451792,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:47.937 [debug] QUERY OK source="media_items" db=0.1ms idle=480.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] 13:12:47.938 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:47.938 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:12:47.938 [debug] QUERY OK source="media_profiles" db=0.2ms idle=255.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] 13:12:47.939 [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 [1301347] 13:12:47.940 [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" = ?) [1301347] 13:12:47.941 [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] 13:12:47.941 [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 [] 13:12:47.941 [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 [] 13:12:47.941 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:47.943 [debug] QUERY OK source="settings" db=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:47.943 [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 [] 13:12:47.944 [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 [] 13:12:47.944 [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/84/78/847889e0f1bee23d297752d991a8be106b2ebc54f6373dfd769057d5ff59c5a5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:48.026 [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/b0/08/b0082b955fcb2ca24908735de5cae19a4b4f2b5f6cb6dbe1fb43e0fdc50e13df.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. 13:12:48.026 [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" 13:12:48.026 [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" 13:12:48.027 [info] {"args":{"id":1301334},"id":541484,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1902662,"event":"job:stop","queue_time":122502,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:48.033 [info] {"args":{"id":1301392},"id":541487,"meta":{},"system_time":1793038368033184489,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:48.033 [debug] QUERY OK source="media_items" db=0.1ms idle=89.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] 13:12:48.033 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:48.034 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:12:48.034 [debug] QUERY OK source="media_profiles" db=0.1ms 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", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:12:48.034 [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 [1301392] 13:12:48.041 [debug] QUERY OK source="media_metadata" db=0.0ms idle=7.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] 13:12:48.041 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 13:12:48.041 [debug] QUERY OK source="settings" db=0.0ms idle=7.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:48.041 [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 [] 13:12:48.041 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:48.042 [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 [] 13:12:48.042 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:48.043 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:48.043 [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/13/1a/131a7af4169bfd82f1460feea896e401c96dbd3ce0930d77e470ffcae17f4a4c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:49.957 [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/13/1a/131a7af4169bfd82f1460feea896e401c96dbd3ce0930d77e470ffcae17f4a4c.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. 13:12:49.958 [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" 13:12:49.958 [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" 13:12:49.958 [info] {"args":{"id":1301392},"id":541487,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1925061,"event":"job:stop","queue_time":2032516,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:49.965 [info] {"args":{"id":1301393},"id":541488,"meta":{},"system_time":1793038369965185058,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:49.965 [debug] QUERY OK source="media_items" db=0.3ms idle=507.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" = ?) [1301393] 13:12:49.965 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:49.966 [debug] QUERY OK source="sources" db=0.1ms idle=508.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:12:49.966 [debug] QUERY OK source="media_profiles" db=0.1ms idle=280.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] 13:12:49.966 [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] 13:12:49.968 [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] 13:12:49.968 [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] 13:12:49.968 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:49.968 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:49.968 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:49.969 [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 [] 13:12:49.969 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:49.969 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:49.969 [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/fd/7d/fd7df2a8cdb49237e7794d1627a99564fb7d55e61c5aa38a38758abd6e383ab0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:49.999 [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/84/78/847889e0f1bee23d297752d991a8be106b2ebc54f6373dfd769057d5ff59c5a5.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. 13:12:50.000 [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" 13:12:50.000 [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" 13:12:50.000 [info] {"args":{"id":1301347},"id":541486,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2062755,"event":"job:stop","queue_time":1936589,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:50.007 [info] {"args":{"id":1301394},"id":541489,"meta":{},"system_time":1793038370007256203,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:50.007 [debug] QUERY OK source="media_items" db=0.1ms idle=37.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] 13:12:50.007 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:50.008 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:12:50.008 [debug] QUERY OK source="media_profiles" db=0.1ms idle=38.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:12:50.008 [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 [1301394] 13:12:50.009 [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] 13:12:50.009 [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] 13:12:50.010 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:50.010 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:50.010 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:50.011 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:50.011 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:50.011 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:50.011 [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/54/0a/540a125d72f1ed73f1214fac5b9e13678fa6ebe42472f04da07c59250ef0e4e6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:51.867 [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/54/0a/540a125d72f1ed73f1214fac5b9e13678fa6ebe42472f04da07c59250ef0e4e6.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. 13:12:51.867 [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" 13:12:51.867 [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" 13:12:51.867 [info] {"args":{"id":1301394},"id":541489,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1860317,"event":"job:stop","queue_time":4006561,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:51.874 [info] {"args":{"id":1301395},"id":541490,"meta":{},"system_time":1793038371874142766,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:51.874 [debug] QUERY OK source="media_items" db=0.1ms idle=416.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] 13:12:51.874 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:51.874 [debug] QUERY OK source="sources" db=0.1ms idle=416.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:12:51.875 [debug] QUERY OK source="media_profiles" db=0.1ms idle=186.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:12:51.875 [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 [1301395] 13:12:51.876 [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] 13:12:51.877 [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] 13:12:51.877 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:51.877 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:51.877 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:51.878 [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 [] 13:12:51.878 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:51.878 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:51.878 [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/84/e0/84e08bf137ef4766bc466a446db35c62db7e813f1d53544acd15f9b7831e7f20.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:52.123 [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/fd/7d/fd7df2a8cdb49237e7794d1627a99564fb7d55e61c5aa38a38758abd6e383ab0.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. 13:12:52.124 [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" 13:12:52.124 [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" 13:12:52.124 [info] {"args":{"id":1301393},"id":541488,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2159047,"event":"job:stop","queue_time":3964557,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:52.131 [info] {"args":{"id":1301397},"id":541491,"meta":{},"system_time":1793038372131110895,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:52.131 [debug] QUERY OK source="media_items" db=0.2ms 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."id" = ?) [1301397] 13:12:52.131 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:52.131 [debug] QUERY OK source="sources" db=0.1ms idle=253.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:12:52.132 [debug] QUERY OK source="media_profiles" db=0.1ms idle=253.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:12:52.132 [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] 13:12:52.133 [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] 13:12:52.134 [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] 13:12:52.134 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:52.134 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:52.134 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:52.135 [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 [] 13:12:52.135 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:52.135 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:52.135 [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/cd/cb/cdcbd20e035546cb90aa3e1b5b2a6b8c90e5e893eb206d95b092cdb51dc3c8a7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:54.089 [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/84/e0/84e08bf137ef4766bc466a446db35c62db7e813f1d53544acd15f9b7831e7f20.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. 13:12:54.089 [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" 13:12:54.090 [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" 13:12:54.090 [info] {"args":{"id":1301395},"id":541490,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2216078,"event":"job:stop","queue_time":5873510,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:54.097 [info] {"args":{"id":1301398},"id":541492,"meta":{},"system_time":1793038374097399008,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:54.097 [debug] QUERY OK source="media_items" db=0.1ms idle=639.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] 13:12:54.097 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:54.098 [debug] QUERY OK source="sources" db=0.1ms idle=640.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:12:54.098 [debug] QUERY OK source="media_profiles" db=0.1ms idle=406.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:12:54.098 [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] 13:12:54.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" = ?) [1301398] 13:12:54.100 [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] 13:12:54.100 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:54.100 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:54.101 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:54.101 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:54.101 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:54.101 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:54.102 [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/a3/3c/a33ce9ef3a940016a03e00740c971033653cbada02eb627fc6fa4240d1e22cd1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:54.173 [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/cd/cb/cdcbd20e035546cb90aa3e1b5b2a6b8c90e5e893eb206d95b092cdb51dc3c8a7.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. 13:12:54.173 [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" 13:12:54.173 [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" 13:12:54.173 [info] {"args":{"id":1301397},"id":541491,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2042539,"event":"job:stop","queue_time":6130556,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:54.180 [info] {"args":{"id":1301399},"id":541493,"meta":{},"system_time":1793038374180156263,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:54.180 [debug] QUERY OK source="media_items" db=0.1ms idle=78.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] 13:12:54.180 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:54.180 [debug] QUERY OK source="sources" db=0.1ms idle=78.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:12:54.181 [debug] QUERY OK source="media_profiles" db=0.1ms idle=79.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:12:54.181 [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] 13:12:54.184 [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" = ?) [1301399] 13:12:54.185 [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] 13:12:54.185 [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 [] 13:12:54.185 [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 [] 13:12:54.185 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:54.186 [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 [] 13:12:54.186 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:54.186 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:54.187 [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/fe/db/fedbb0dd83265e47bdd4f91b5eb9b92f3d78c3f0d00692d9d6600aa52e7607ef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:56.231 [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/fe/db/fedbb0dd83265e47bdd4f91b5eb9b92f3d78c3f0d00692d9d6600aa52e7607ef.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. 13:12:56.231 [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" 13:12:56.231 [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" 13:12:56.231 [info] {"args":{"id":1301399},"id":541493,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2051306,"event":"job:stop","queue_time":8179506,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:56.238 [info] {"args":{"id":1301400},"id":541494,"meta":{},"system_time":1793038376238384805,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:56.238 [debug] QUERY OK source="media_items" db=0.1ms idle=780.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] 13:12:56.239 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:56.239 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:12:56.239 [debug] QUERY OK source="media_profiles" db=0.1ms idle=544.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:12:56.239 [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] 13:12:56.243 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.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] 13:12:56.243 [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] 13:12:56.243 [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 [] 13:12:56.243 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:56.243 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:56.244 [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 [] 13:12:56.245 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:56.245 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:56.245 [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/fa/93/fa932125df1e8619a8cac9e849a4de795480127cf109706814c90069e47840a2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:56.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/a3/3c/a33ce9ef3a940016a03e00740c971033653cbada02eb627fc6fa4240d1e22cd1.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. 13:12:56.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" 13:12:56.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" 13:12:56.271 [info] {"args":{"id":1301398},"id":541492,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2173422,"event":"job:stop","queue_time":8096636,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:56.277 [info] {"args":{"id":2720968},"id":541495,"meta":{},"system_time":1793038376277307783,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:56.277 [debug] QUERY OK source="media_items" db=0.2ms idle=32.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2720968] 13:12:56.277 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:56.278 [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" = ?) [52] 13:12:56.278 [debug] QUERY OK source="media_profiles" db=0.1ms idle=32.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] 13:12:56.278 [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] 13:12:56.279 [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] 13:12:56.279 [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] 13:12:56.279 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:56.280 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:56.280 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:56.281 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:56.281 [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 [] 13:12:56.281 [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 [] 13:12:56.281 [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/30/b0/30b0658cf1bb02d02f4b41efdb0243c952aadc60d34654a17afa8efa4f954ac2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:58.232 [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/30/b0/30b0658cf1bb02d02f4b41efdb0243c952aadc60d34654a17afa8efa4f954ac2.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. 13:12:58.232 [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" 13:12:58.232 [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" 13:12:58.232 [info] {"args":{"id":2720968},"id":541495,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1955229,"event":"job:stop","queue_time":10276564,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:58.239 [info] {"args":{"id":3440530},"id":541496,"meta":{},"system_time":1793038378239162806,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:58.239 [debug] QUERY OK source="media_items" db=0.2ms idle=781.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" = ?) [3440530] 13:12:58.239 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:58.239 [debug] QUERY OK source="sources" db=0.1ms idle=781.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:12:58.240 [debug] QUERY OK source="media_profiles" db=0.1ms idle=542.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:12:58.240 [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 [3440530] 13:12:58.242 [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" = ?) [3440530] 13:12:58.242 [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] 13:12:58.242 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:58.242 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:58.242 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:58.243 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:58.243 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:58.243 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:58.243 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6b/36/6b369f362a7113ecce4cbc3537495d5e7e8eb995eb3cc36b2cfe9b9979185a77.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:58.332 [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/fa/93/fa932125df1e8619a8cac9e849a4de795480127cf109706814c90069e47840a2.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. 13:12:58.332 [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" 13:12:58.332 [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" 13:12:58.332 [info] {"args":{"id":1301400},"id":541494,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2094231,"event":"job:stop","queue_time":10237604,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:58.339 [info] {"args":{"id":3675707},"id":541497,"meta":{},"system_time":1793038378339133239,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:12:58.339 [debug] QUERY OK source="media_items" db=0.1ms idle=95.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" = ?) [3675707] 13:12:58.339 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:12:58.340 [debug] QUERY OK source="sources" db=0.1ms idle=96.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:12:58.340 [debug] QUERY OK source="media_profiles" db=0.1ms idle=96.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:12:58.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 [3675707] 13:12:58.341 [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" = ?) [3675707] 13:12:58.342 [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] 13:12:58.342 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:58.342 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:58.342 [debug] Running yt-dlp command for action: get_downloadable_status 13:12:58.343 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:58.343 [debug] QUERY OK source="settings" db=0.0ms queue=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:58.344 [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 [] 13:12:58.344 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/84/72/847205777b1b267a0d185e74e2a801a439ed893a2313c7a1e6b9c9a3ba97cbc5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:58.706 [info] {"args":{"id":51},"id":541481,"meta":{},"system_time":1793038378706165521,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:58.706 [debug] QUERY OK source="sources" db=0.1ms idle=362.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:12:58.706 [debug] QUERY OK source="settings" db=0.1ms idle=362.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:58.707 [debug] QUERY OK source="media_profiles" db=0.1ms idle=362.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] 13:12:58.707 [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 [] 13:12:58.707 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 13:12:58.909 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 13:12:58.910 [debug] QUERY OK source="media_items" db=0.4ms 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, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 13:12:58.911 [debug] QUERY OK source="media_items" db=0.4ms idle=204.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] 13:12:58.912 [debug] QUERY OK source="tasks" db=0.1ms idle=204.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541499, 51, ~U[2026-10-26 18:12:58Z], ~U[2026-10-26 18:12:58Z]] 13:12:58.912 [info] {"args":{"id":51},"id":541481,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":205903,"event":"job:stop","queue_time":572252,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:59.350 [info] {"source":"oban","duration":9715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.178 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6b/36/6b369f362a7113ecce4cbc3537495d5e7e8eb995eb3cc36b2cfe9b9979185a77.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 13:13:00.178 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:13:00.178 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:13:00.178 [info] {"args":{"id":3440530},"id":541496,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1939324,"event":"job:stop","queue_time":12238511,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:13:00.227 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:13:00.244 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/84/72/847205777b1b267a0d185e74e2a801a439ed893a2313c7a1e6b9c9a3ba97cbc5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 13:13:00.245 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:13:00.245 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:13:00.246 [info] {"args":{"id":3675707},"id":541497,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1906120,"event":"job:stop","queue_time":12338558,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:13:29.359 [info] {"source":"oban","duration":9372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:59.370 [info] {"source":"oban","duration":9454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.228 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:14:29.377 [info] {"source":"oban","duration":6694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:14:59.388 [info] {"source":"oban","duration":9542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.229 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:15:29.397 [info] {"source":"oban","duration":9362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:59.404 [info] {"source":"oban","duration":5977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.230 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:16:29.411 [info] {"source":"oban","duration":6189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:59.419 [info] {"source":"oban","duration":6740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:17:00.231 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:17:29.428 [info] {"source":"oban","duration":9311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:59.437 [info] {"source":"oban","duration":7544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.232 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:18:26.093 [info] {"args":{"id":2279799},"id":538865,"meta":{},"system_time":1793038706093628518,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":17,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:18:26.094 [debug] QUERY OK source="media_items" db=0.2ms idle=1636.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" = ?) [2279799] 13:18:26.094 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:18:26.095 [debug] QUERY OK source="sources" db=0.7ms idle=1009.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:18:26.096 [debug] QUERY OK source="media_profiles" db=0.6ms idle=637.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] 13:18:26.097 [debug] QUERY OK source="media_items" db=0.8ms 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 [2279799] 13:18:26.101 [debug] QUERY OK source="media_metadata" db=0.1ms idle=8.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" = ?) [2279799] 13:18:26.101 [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] 13:18:26.102 [debug] QUERY OK source="settings" db=0.0ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:26.102 [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 [] 13:18:26.102 [debug] Running yt-dlp command for action: get_downloadable_status 13:18:26.103 [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 [] 13:18:26.103 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:26.103 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:26.103 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ld6S5z9Xbyw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/18/a4/18a47811aa8641559e1aaa242032aded602f31e7481c8dea2472b2004d5c4cf5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:18:28.049 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ld6S5z9Xbyw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/18/a4/18a47811aa8641559e1aaa242032aded602f31e7481c8dea2472b2004d5c4cf5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] ld6S5z9Xbyw: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:18:28.049 [error] yt-dlp download error for media item #2279799: "ERROR: [youtube] ld6S5z9Xbyw: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:18:28.050 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2279799},"id":538865,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1956351,"event":"job:exception","queue_time":725918,"attempt":17,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:18:29.447 [info] {"source":"oban","duration":10047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:59.458 [info] {"source":"oban","duration":9385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.233 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:19:27.263 [info] GET /sources/32/media/3970154 13:19:27.264 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3970154", "source_id" => "32"} Pipelines: [:browser] 13:19:27.264 [debug] QUERY OK source="media_items" db=0.2ms idle=1806.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" = ?) [3970154] 13:19:27.265 [debug] QUERY OK source="tasks" db=0.1ms idle=1807.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" [3970154] 13:19:27.265 [debug] QUERY OK source="sources" db=0.3ms idle=1807.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:19:27.265 [debug] QUERY OK source="settings" db=0.1ms idle=1111.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:27.265 [debug] QUERY OK source="settings" db=0.1ms idle=110.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:27.266 [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 [] 13:19:27.266 [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] 13:19:27.267 [info] Sent 200 in 3ms 13:19:29.468 [info] {"source":"oban","duration":9415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:59.478 [info] {"source":"oban","duration":10363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.234 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:20:29.485 [info] {"source":"oban","duration":5656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:59.491 [info] {"source":"oban","duration":6357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.235 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:21:29.502 [info] {"source":"oban","duration":9419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:59.507 [info] {"source":"oban","duration":4799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.236 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:22:29.512 [info] {"source":"oban","duration":4705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":2} 13:22:46.389 [info] {"args":{"id":52},"id":541498,"meta":{},"system_time":1793038966389647579,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:46.390 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [52] 13:22:46.390 [debug] QUERY OK source="settings" db=0.1ms idle=932.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:46.390 [debug] QUERY OK source="media_profiles" db=0.2ms idle=932.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:46.391 [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 [] 13:22:46.391 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 13:22:46.668 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 13:22:46.669 [debug] QUERY OK source="media_items" db=0.5ms idle=279.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 13:22:46.671 [debug] QUERY OK source="media_items" db=0.9ms idle=279.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] 13:22:46.675 [debug] QUERY OK source="tasks" db=0.1ms idle=283.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541500, 1301334, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.679 [debug] QUERY OK source="tasks" db=0.4ms idle=4.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541501, 1301335, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.682 [info] {"args":{"id":1301334},"id":541500,"meta":{},"system_time":1793038966682145100,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:46.682 [info] {"args":{"id":1301335},"id":541501,"meta":{},"system_time":1793038966682184116,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:46.682 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 13:22:46.683 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:46.683 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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] 13:22:46.683 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:46.683 [debug] QUERY OK source="sources" db=0.5ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:22:46.683 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms 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] 13:22:46.684 [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] 13:22:46.684 [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] 13:22:46.684 [debug] QUERY OK source="media_items" db=0.4ms 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] 13:22:46.685 [debug] QUERY OK source="media_items" db=0.4ms 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] 13:22:46.685 [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" [541502, 1301347, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.687 [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] 13:22:46.687 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:46.688 [debug] QUERY OK source="media_metadata" db=0.2ms 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" = ?) [1301334] 13:22:46.688 [debug] QUERY OK source="settings" db=0.3ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:46.688 [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 [] 13:22:46.688 [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] 13:22:46.688 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:46.689 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:46.689 [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 [] 13:22:46.689 [debug] QUERY OK source="tasks" db=0.1ms idle=0.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541503, 1301392, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.689 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:46.690 [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 [] 13:22:46.690 [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 [] 13:22:46.690 [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 [] 13:22:46.690 [debug] QUERY OK source="settings" db=0.4ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:46.690 [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/a5/1d/a51d7f69372179b289a1acad5461fd396af5d96402195804b02033511bdfe5b0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:46.691 [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 [] 13:22:46.691 [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 [] 13:22:46.691 [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/36/ed/36edff6b9f9e308c101106c36c662e3bfc5cd813b606f3091eb4cd2fe79c389a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:46.693 [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" [541504, 1301393, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.696 [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" [541505, 1301394, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.699 [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" [541506, 1301395, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.703 [debug] QUERY OK source="tasks" db=0.2ms idle=3.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541507, 1301397, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.705 [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" [541508, 1301398, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.708 [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" [541509, 1301399, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.711 [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" [541510, 1301400, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.714 [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" [541511, 2720968, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.716 [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" [541512, 3440530, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.719 [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" [541513, 3675707, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.720 [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" [541514, 52, ~U[2026-10-26 18:22:46Z], ~U[2026-10-26 18:22:46Z]] 13:22:46.720 [info] {"args":{"id":52},"id":541498,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":330777,"event":"job:stop","queue_time":228803,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:48.555 [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/36/ed/36edff6b9f9e308c101106c36c662e3bfc5cd813b606f3091eb4cd2fe79c389a.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. 13:22:48.555 [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" 13:22:48.556 [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" 13:22:48.556 [info] {"args":{"id":1301334},"id":541500,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1873894,"event":"job:stop","queue_time":680582,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:48.563 [info] {"args":{"id":1301347},"id":541502,"meta":{},"system_time":1793038968563138444,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:48.563 [debug] QUERY OK source="media_items" db=0.1ms idle=105.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" = ?) [1301347] 13:22:48.563 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:48.563 [debug] QUERY OK source="sources" db=0.1ms idle=106.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:22:48.564 [debug] QUERY OK source="media_profiles" db=0.1ms idle=106.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:48.564 [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 [1301347] 13:22:48.566 [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" = ?) [1301347] 13:22:48.566 [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] 13:22:48.567 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:48.567 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:48.567 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:48.569 [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 [] 13:22:48.569 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:48.569 [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 [] 13:22:48.569 [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/c7/a1/c7a1159eda9e5ed4a270a79311c9f3b98c1bdb31726629a4bfa3e9082d0aed7e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:48.886 [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/a5/1d/a51d7f69372179b289a1acad5461fd396af5d96402195804b02033511bdfe5b0.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. 13:22:48.886 [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" 13:22:48.886 [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" 13:22:48.887 [info] {"args":{"id":1301335},"id":541501,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2204423,"event":"job:stop","queue_time":680582,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:48.893 [info] {"args":{"id":1301392},"id":541503,"meta":{},"system_time":1793038968893129140,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:48.893 [debug] QUERY OK source="media_items" db=0.1ms idle=324.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] 13:22:48.893 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:48.893 [debug] QUERY OK source="sources" db=0.2ms idle=324.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:22:48.894 [debug] QUERY OK source="media_profiles" db=0.1ms idle=324.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:48.894 [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 [1301392] 13:22:48.894 [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" = ?) [1301392] 13:22:48.895 [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] 13:22:48.895 [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 [] 13:22:48.895 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:48.895 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:48.896 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:48.897 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:48.897 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:48.897 [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/59/a3/59a3ee0e40b1bb54e1eb137d4a5698290e8ad934708d8c1f09f16cee2e3a314b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:50.745 [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/59/a3/59a3ee0e40b1bb54e1eb137d4a5698290e8ad934708d8c1f09f16cee2e3a314b.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. 13:22:50.745 [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" 13:22:50.745 [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" 13:22:50.746 [info] {"args":{"id":1301392},"id":541503,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1852879,"event":"job:stop","queue_time":2892505,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:50.753 [info] {"args":{"id":1301393},"id":541504,"meta":{},"system_time":1793038970753370217,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:50.753 [debug] QUERY OK source="media_items" db=0.2ms idle=296.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] 13:22:50.754 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:50.754 [debug] QUERY OK source="sources" db=0.1ms idle=296.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:22:50.754 [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] 13:22:50.755 [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] 13:22:50.756 [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] 13:22:50.756 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:50.756 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:50.757 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:50.757 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:50.758 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:50.758 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:50.758 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:50.758 [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/7b/5c/7b5c0982cbcb4232034c000b24e9516c02692c25e7b71e5937968a3dac6f24c5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:50.831 [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/c7/a1/c7a1159eda9e5ed4a270a79311c9f3b98c1bdb31726629a4bfa3e9082d0aed7e.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. 13:22:50.831 [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" 13:22:50.831 [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" 13:22:50.832 [info] {"args":{"id":1301347},"id":541502,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2268817,"event":"job:stop","queue_time":2562510,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:50.839 [info] {"args":{"id":1301394},"id":541505,"meta":{},"system_time":1793038970839216636,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:50.839 [debug] QUERY OK source="media_items" db=0.1ms idle=81.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] 13:22:50.839 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:50.840 [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" = ?) [52] 13:22:50.840 [debug] QUERY OK source="media_profiles" db=0.1ms idle=81.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:50.840 [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] 13:22:50.845 [debug] QUERY OK source="media_metadata" db=0.0ms idle=5.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] 13:22:50.845 [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] 13:22:50.845 [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 [] 13:22:50.845 [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 [] 13:22:50.845 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:50.849 [debug] QUERY OK source="settings" db=0.0ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:50.849 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:50.849 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:50.849 [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/d2/80/d280e97be3ed4ea1ad7a41fbc051c21483ab783ffab240ac04f67a35cbc5a7b0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:52.698 [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/7b/5c/7b5c0982cbcb4232034c000b24e9516c02692c25e7b71e5937968a3dac6f24c5.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. 13:22:52.698 [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" 13:22:52.698 [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" 13:22:52.699 [info] {"args":{"id":1301393},"id":541504,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1945432,"event":"job:stop","queue_time":4752531,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:52.705 [info] {"args":{"id":1301395},"id":541506,"meta":{},"system_time":1793038972705443116,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:52.705 [debug] QUERY OK source="media_items" db=0.1ms idle=247.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] 13:22:52.705 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:52.706 [debug] QUERY OK source="sources" db=0.1ms idle=248.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:22:52.706 [debug] QUERY OK source="media_profiles" db=0.1ms idle=248.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:52.706 [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 [1301395] 13:22:52.708 [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] 13:22:52.708 [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] 13:22:52.709 [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 [] 13:22:52.709 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:52.709 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:52.710 [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 [] 13:22:52.710 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:52.710 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:52.710 [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/4f/60/4f601be6aeb90c347eab6ff6fff0b40e0a6200d557d43c8626bd9eb1b0fea1fb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:53.122 [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/d2/80/d280e97be3ed4ea1ad7a41fbc051c21483ab783ffab240ac04f67a35cbc5a7b0.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. 13:22:53.122 [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" 13:22:53.122 [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" 13:22:53.123 [info] {"args":{"id":1301394},"id":541505,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2283705,"event":"job:stop","queue_time":4838574,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:53.129 [info] {"args":{"id":1301397},"id":541507,"meta":{},"system_time":1793038973129392784,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:53.129 [debug] QUERY OK source="media_items" db=0.1ms idle=419.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] 13:22:53.129 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:53.130 [debug] QUERY OK source="sources" db=0.1ms idle=419.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:22:53.130 [debug] QUERY OK source="media_profiles" db=0.1ms idle=419.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:53.130 [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 [1301397] 13:22:53.132 [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" = ?) [1301397] 13:22:53.132 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:53.132 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:53.132 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:53.132 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:53.134 [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 [] 13:22:53.134 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:53.134 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:53.134 [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/a8/64a84900dc0f745e3d852d795023f5f9a85c9758c9576ff37dee32dbd51856f4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:54.722 [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/4f/60/4f601be6aeb90c347eab6ff6fff0b40e0a6200d557d43c8626bd9eb1b0fea1fb.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. 13:22:54.722 [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" 13:22:54.722 [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" 13:22:54.723 [info] {"args":{"id":1301395},"id":541506,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2017548,"event":"job:stop","queue_time":6704562,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:54.730 [info] {"args":{"id":1301398},"id":541508,"meta":{},"system_time":1793038974730090821,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:54.730 [debug] QUERY OK source="media_items" db=0.2ms idle=272.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] 13:22:54.730 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:54.730 [debug] QUERY OK source="sources" db=0.1ms idle=273.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:22:54.731 [debug] QUERY OK source="media_profiles" db=0.1ms idle=273.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:54.731 [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] 13:22:54.733 [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] 13:22:54.733 [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] 13:22:54.733 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:54.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 [] 13:22:54.734 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:54.735 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:54.735 [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 [] 13:22:54.736 [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 [] 13:22:54.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/b3/38/b33862e44d22365858f44a64328e70b83eb11939e2f474041b0b21adf6a1b435.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:55.146 [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/a8/64a84900dc0f745e3d852d795023f5f9a85c9758c9576ff37dee32dbd51856f4.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. 13:22:55.147 [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" 13:22:55.147 [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" 13:22:55.147 [info] {"args":{"id":1301397},"id":541507,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2017799,"event":"job:stop","queue_time":7128578,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:55.154 [info] {"args":{"id":1301399},"id":541509,"meta":{},"system_time":1793038975154291006,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:55.154 [debug] QUERY OK source="media_items" db=0.2ms idle=418.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] 13:22:55.154 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:55.155 [debug] QUERY OK source="sources" db=0.1ms idle=419.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:22:55.155 [debug] QUERY OK source="media_profiles" db=0.1ms idle=419.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:55.155 [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] 13:22:55.157 [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" = ?) [1301399] 13:22:55.157 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:55.157 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:55.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 [] 13:22:55.158 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:55.159 [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 [] 13:22:55.159 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:55.159 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:55.159 [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/00/f9/00f92d4c29cd7e9e9f1136392fa6a08ecc47bc25d782acab738b292879407745.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:56.497 [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/b3/38/b33862e44d22365858f44a64328e70b83eb11939e2f474041b0b21adf6a1b435.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. 13:22:56.497 [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" 13:22:56.498 [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" 13:22:56.498 [info] {"args":{"id":1301398},"id":541508,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1767935,"event":"job:stop","queue_time":8729517,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:56.505 [info] {"args":{"id":1301400},"id":541510,"meta":{},"system_time":1793038976505467344,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:56.505 [debug] QUERY OK source="media_items" db=0.1ms idle=47.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" = ?) [1301400] 13:22:56.505 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:56.506 [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" = ?) [52] 13:22:56.506 [debug] QUERY OK source="media_profiles" db=0.1ms idle=48.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:56.506 [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 [1301400] 13:22:56.508 [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] 13:22:56.508 [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] 13:22:56.508 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:56.508 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:56.508 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:56.509 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:56.509 [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 [] 13:22:56.509 [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 [] 13:22:56.509 [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/10/86/108699481bc9e5b7ddc93400a9d2c639a7ef4510f5219341ec0ecd98b069d565.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:57.115 [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/00/f9/00f92d4c29cd7e9e9f1136392fa6a08ecc47bc25d782acab738b292879407745.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. 13:22:57.115 [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" 13:22:57.115 [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" 13:22:57.116 [info] {"args":{"id":1301399},"id":541509,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1961683,"event":"job:stop","queue_time":9153524,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:57.122 [info] {"args":{"id":2720968},"id":541511,"meta":{},"system_time":1793038977122146507,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:57.122 [debug] QUERY OK source="media_items" db=0.1ms idle=612.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] 13:22:57.122 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:57.123 [debug] QUERY OK source="sources" db=0.1ms idle=613.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:22:57.123 [debug] QUERY OK source="media_profiles" db=0.1ms idle=613.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:57.123 [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] 13:22:57.126 [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] 13:22:57.126 [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] 13:22:57.126 [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 [] 13:22:57.126 [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 [] 13:22:57.126 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:57.128 [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 [] 13:22:57.128 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:57.128 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:57.128 [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/2b/78/2b78c507b99453e57f6ab8c1b37a34ae27fb7c4042d3bb1151342bdd5a1f1ed3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:58.459 [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/10/86/108699481bc9e5b7ddc93400a9d2c639a7ef4510f5219341ec0ecd98b069d565.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. 13:22:58.459 [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" 13:22:58.460 [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" 13:22:58.460 [info] {"args":{"id":1301400},"id":541510,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1954607,"event":"job:stop","queue_time":10504567,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:58.467 [info] {"args":{"id":3440530},"id":541512,"meta":{},"system_time":1793038978467527738,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:58.468 [debug] QUERY OK source="media_items" db=0.3ms idle=10.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" = ?) [3440530] 13:22:58.468 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:58.468 [debug] QUERY OK source="sources" db=0.1ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:22:58.468 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:58.469 [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 [3440530] 13:22:58.470 [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" = ?) [3440530] 13:22:58.470 [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] 13:22:58.471 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:58.471 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:58.471 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:58.472 [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 [] 13:22:58.472 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:58.472 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:58.472 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/39/0a/390a874b4e69993ccd34184ad863baaaec4cbe429375c683e40bf07c76a974da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:58.972 [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/2b/78/2b78c507b99453e57f6ab8c1b37a34ae27fb7c4042d3bb1151342bdd5a1f1ed3.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. 13:22:58.972 [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" 13:22:58.972 [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" 13:22:58.972 [info] {"args":{"id":2720968},"id":541511,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1850120,"event":"job:stop","queue_time":11121524,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:58.979 [info] {"args":{"id":3675707},"id":541513,"meta":{},"system_time":1793038978979165266,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:58.979 [debug] QUERY OK source="media_items" db=0.2ms idle=506.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" = ?) [3675707] 13:22:58.979 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:22:58.980 [debug] QUERY OK source="sources" db=0.2ms idle=507.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:22:58.980 [debug] QUERY OK source="media_profiles" db=0.1ms idle=507.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:58.980 [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 [3675707] 13:22:58.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" = ?) [3675707] 13:22:58.983 [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] 13:22:58.983 [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 [] 13:22:58.983 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:58.983 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:58.984 [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 [] 13:22:58.984 [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 [] 13:22:58.984 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:58.984 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/3f/db3f8929126216b97d28977737843945c2d9181103bc489f6f3753fdd4d5e733.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:59.407 [info] {"args":{"id":51},"id":541499,"meta":{},"system_time":1793038979407214078,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:59.407 [debug] QUERY OK source="sources" db=0.1ms idle=423.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:22:59.407 [debug] QUERY OK source="settings" db=0.1ms idle=423.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:59.408 [debug] QUERY OK source="media_profiles" db=0.1ms idle=423.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:22:59.408 [debug] QUERY OK source="settings" db=0.1ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:59.408 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 13:22:59.520 [info] {"source":"oban","duration":7604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:59.564 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 13:22:59.564 [debug] QUERY OK source="media_items" db=0.3ms idle=156.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 13:22:59.565 [debug] QUERY OK source="media_items" db=0.3ms idle=157.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")))) [51] 13:22:59.567 [debug] QUERY OK source="tasks" db=0.5ms idle=46.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541515, 51, ~U[2026-10-26 18:22:59Z], ~U[2026-10-26 18:22:59Z]] 13:22:59.567 [info] {"args":{"id":51},"id":541499,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":159940,"event":"job:stop","queue_time":495250,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:23:00.237 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:23:00.512 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/39/0a/390a874b4e69993ccd34184ad863baaaec4cbe429375c683e40bf07c76a974da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 13:23:00.512 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:23:00.512 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:23:00.513 [info] {"args":{"id":3440530},"id":541512,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2045174,"event":"job:stop","queue_time":12466562,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:23:00.832 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/3f/db3f8929126216b97d28977737843945c2d9181103bc489f6f3753fdd4d5e733.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 13:23:00.832 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:23:00.832 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:23:00.832 [info] {"args":{"id":3675707},"id":541513,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1853258,"event":"job:stop","queue_time":12978564,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:23:29.530 [info] {"source":"oban","duration":9598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:45.462 [info] {"args":{"id":43},"id":541413,"meta":{},"system_time":1793039025462670486,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:23:45.463 [debug] QUERY OK source="sources" db=0.8ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:23:45.464 [debug] QUERY OK source="settings" db=0.1ms idle=1006.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:45.469 [debug] QUERY OK source="media_items" db=4.8ms idle=8.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")))) [43] 13:23:45.470 [debug] QUERY OK source="media_items" db=0.4ms idle=11.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [43] 13:23:45.470 [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] 13:23:45.470 [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 [] 13:23:45.470 [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 [] 13:23:45.476 [debug] QUERY OK source="media_items" db=4.0ms 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 [43] 13:23:45.478 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:23:45.478 [debug] Current batch of media processed. Will check again in 1000ms 13:23:45.479 [debug] QUERY OK source="settings" db=0.1ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:45.479 [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 [] 13:23:45.479 [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 [] 13:23:45.479 [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/89/b6/89b6aeaca49cd79fa7b75b28937a98169f3476d1fa6be4386aa76a2e853b3ed3.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5c/d6/5cd6e5f854c4822bf5f68a59587c0ee2e8884a4ee6f507fac72aaf9be18e428f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:23:46.479 [debug] Current batch of media processed. Will check again in 1000ms 13:23:47.480 [debug] Current batch of media processed. Will check again in 1000ms 13:23:48.481 [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 Bottles dev talks vibe cloned software, AI and other projects\n06:19 Spotify Client for GNOME\n07:49 SystemD adds Rust support for new modules\n09:31 Flathub shuts down their Forums", "duration" => 689, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support.NA", "id" => "_Vqmu1AbXyQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_Vqmu1AbXyQ", "playlist_index" => 1, "timestamp" => 1793008427, "title" => "Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support", "upload_date" => "20261026"} 13:23:48.482 [debug] QUERY OK source="sources" db=0.2ms idle=1024.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:23:48.482 [debug] QUERY OK source="sources" db=0.1ms idle=1024.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:23:48.487 [debug] QUERY OK source="media_items" db=4.5ms idle=1024.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 09:53:47Z], 43] 13:23:48.488 [debug] QUERY OK source="media_items" db=1.2ms idle=1029.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 Bottles dev talks vibe cloned software, AI and other projects\n06:19 Spotify Client for GNOME\n07:49 SystemD adds Rust support for new modules\n09:31 Flathub shuts down their Forums", "Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support", "cba6e19c-a964-4a3b-9691-a52604f07d78", "_Vqmu1AbXyQ", 689, false, "https://www.youtube.com/watch?v=_Vqmu1AbXyQ", 1, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support.NA", false, false, false, 43, [], 97, ~U[2026-10-26 09:53:47Z], ~U[2026-10-26 18:23:48Z], ~U[2026-10-26 18:23: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 Bottles dev talks vibe cloned software, AI and other projects\n06:19 Spotify Client for GNOME\n07:49 SystemD adds Rust support for new modules\n09:31 Flathub shuts down their Forums", "Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support", "_Vqmu1AbXyQ", 689, false, "https://www.youtube.com/watch?v=_Vqmu1AbXyQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support.NA", false, 43, ~U[2026-10-26 09:53:47Z]] 13:23:48.489 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [43] 13:23:48.489 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:23:48.490 [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 [4244204] 13:23:48.490 [info] Kicking off download for media item #4244204 (_Vqmu1AbXyQ) 13:23:48.491 [debug] Current batch of media processed. Will check again in 1000ms 13:23:49.491 [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:42 Update on the channel plans\n10:31 What's happening in France", "duration" => 1659, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now.NA", "id" => "m1PbF6H2Y_M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m1PbF6H2Y_M", "playlist_index" => 2, "timestamp" => 1793006944, "title" => "Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now", "upload_date" => "20261026"} 13:23:49.492 [debug] QUERY OK source="sources" db=0.2ms 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] 13:23:49.492 [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] 13:23:49.497 [debug] QUERY OK source="media_items" db=4.5ms 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-10-26 09:29:04Z], 43] 13:23:49.498 [debug] QUERY OK source="media_items" db=0.7ms 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" ["👕 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 Update on the channel plans\n10:31 What's happening in France", "Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now", "6f9fe0b3-1e00-4aaf-a641-7d87f00ccc2f", "m1PbF6H2Y_M", 1659, false, "https://www.youtube.com/watch?v=m1PbF6H2Y_M", 2, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now.NA", false, false, false, 43, [], 97, ~U[2026-10-26 09:29:04Z], ~U[2026-10-26 18:23:49Z], ~U[2026-10-26 18:23: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:42 Update on the channel plans\n10:31 What's happening in France", "Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now", "m1PbF6H2Y_M", 1659, false, "https://www.youtube.com/watch?v=m1PbF6H2Y_M", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now.NA", false, 43, ~U[2026-10-26 09:29:04Z]] 13:23:49.499 [debug] QUERY OK source="sources" db=0.7ms 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] 13:23:49.499 [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] 13:23:49.500 [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 [4244205] 13:23:49.500 [info] Kicking off download for media item #4244205 (m1PbF6H2Y_M) 13:23:49.501 [debug] Current batch of media processed. Will check again in 1000ms 13:23:50.502 [debug] Current batch of media processed. Will check again in 1000ms 13:23:51.503 [debug] Current batch of media processed. Will check again in 1000ms 13:23:52.504 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.com/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\n#linux #linuxnews #technews \n\n\nTimestamps:\n00:00 Intro\n00:50 Sponsor: Internxt\n02:24 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n04:54 Kernel 7.3 released\n06:24 Big influx of Rust code in Kernel 7.4\n07:40 Bitwarden moves to a commercial license, mostly\n10:06 KeePassXC supports auto-type on Wayland now\n11:12 Mint shows more of their new apps\n13:01 LibreOffice is getting record download numbers\n14:49 Proposed AI assistant prototype for Ubuntu\n17:43 OpenBSD gets Wine and runs Windows games\n19:13 Cutefish desktop revived as a vibe coded MacOS Clone\n21:06 Epic Game Stores new preview looks pretty bad\n22:55 Big Tech funds study to warn against digital sovereignty\n25:18 Massive PHP flaw discovered, and patched\n27:47 Sponsor: Tuxedo Computers\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o", "duration" => 1752, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102400_Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News.mp4", "id" => "rR5HmB53C7k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rR5HmB53C7k", "playlist_index" => 3, "timestamp" => 1792830072, "title" => "Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News", "upload_date" => "20261024"} 13:23:52.505 [debug] QUERY OK source="sources" db=0.2ms idle=1047.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:23:52.505 [debug] QUERY OK source="sources" db=0.1ms idle=1047.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:23:52.510 [debug] QUERY OK source="media_items" db=4.5ms idle=1048.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 08:21:12Z], 43] 13:23:52.513 [debug] QUERY OK source="media_items" db=1.9ms idle=1047.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" ["Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.com/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\n#linux #linuxnews #technews \n\n\nTimestamps:\n00:00 Intro\n00:50 Sponsor: Internxt\n02:24 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n04:54 Kernel 7.3 released\n06:24 Big influx of Rust code in Kernel 7.4\n07:40 Bitwarden moves to a commercial license, mostly\n10:06 KeePassXC supports auto-type on Wayland now\n11:12 Mint shows more of their new apps\n13:01 LibreOffice is getting record download numbers\n14:49 Proposed AI assistant prototype for Ubuntu\n17:43 OpenBSD gets Wine and runs Windows games\n19:13 Cutefish desktop revived as a vibe coded MacOS Clone\n21:06 Epic Game Stores new preview looks pretty bad\n22:55 Big Tech funds study to warn against digital sovereignty\n25:18 Massive PHP flaw discovered, and patched\n27:47 Sponsor: Tuxedo Computers\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o", "Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News", "b7343d5d-3a2d-4a60-b0c7-9e1a9c9f04bb", "rR5HmB53C7k", 1752, false, "https://www.youtube.com/watch?v=rR5HmB53C7k", 3, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102400_Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News.mp4", false, false, false, 43, [], 98, ~U[2026-10-24 08:21:12Z], ~U[2026-10-26 18:23:52Z], ~U[2026-10-26 18:23:52Z], "Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.com/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\n#linux #linuxnews #technews \n\n\nTimestamps:\n00:00 Intro\n00:50 Sponsor: Internxt\n02:24 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n04:54 Kernel 7.3 released\n06:24 Big influx of Rust code in Kernel 7.4\n07:40 Bitwarden moves to a commercial license, mostly\n10:06 KeePassXC supports auto-type on Wayland now\n11:12 Mint shows more of their new apps\n13:01 LibreOffice is getting record download numbers\n14:49 Proposed AI assistant prototype for Ubuntu\n17:43 OpenBSD gets Wine and runs Windows games\n19:13 Cutefish desktop revived as a vibe coded MacOS Clone\n21:06 Epic Game Stores new preview looks pretty bad\n22:55 Big Tech funds study to warn against digital sovereignty\n25:18 Massive PHP flaw discovered, and patched\n27:47 Sponsor: Tuxedo Computers\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o", "Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News", "rR5HmB53C7k", 1752, false, "https://www.youtube.com/watch?v=rR5HmB53C7k", "/downloads/chr (truncated) 13:23:52.513 [debug] QUERY OK source="sources" db=0.2ms idle=48.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:23:52.513 [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] 13:23:52.514 [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 [4228036] 13:23:52.514 [debug] Current batch of media processed. Will check again in 1000ms 13:23:53.515 [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:48 Proposed AI assistant prototype for Ubuntu\n04:31 Massive PHP flaw discovered, and patched\n06:46 Epic Game Stores new preview looks pretty bad\n09:06 Linux kernel CVEs posted publicly (likely by AI)\n11:27 Big Tech funds study to warn against digital sovereignty\n\nLinks\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nLinux kernel CVEs posted publicly (likely by AI)\nhttps://www.phoronix.com/news/LKML-New-Trend-Vulnerabilities\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/", "duration" => 870, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102300_Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant.NA", "id" => "mQDigsnENu8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mQDigsnENu8", "playlist_index" => 4, "timestamp" => 1792749458, "title" => "Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant", "upload_date" => "20261023"} 13:23:53.516 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [43] 13:23:53.516 [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] 13:23:53.521 [debug] QUERY OK source="media_items" db=4.7ms 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-10-23 09:57:38Z], 43] 13:23:53.524 [debug] QUERY OK source="media_items" db=1.8ms 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:48 Proposed AI assistant prototype for Ubuntu\n04:31 Massive PHP flaw discovered, and patched\n06:46 Epic Game Stores new preview looks pretty bad\n09:06 Linux kernel CVEs posted publicly (likely by AI)\n11:27 Big Tech funds study to warn against digital sovereignty\n\nLinks\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nLinux kernel CVEs posted publicly (likely by AI)\nhttps://www.phoronix.com/news/LKML-New-Trend-Vulnerabilities\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/", "Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant", "b82d0176-b75f-4ba7-b139-1d39da830fa1", "mQDigsnENu8", 870, false, "https://www.youtube.com/watch?v=mQDigsnENu8", 4, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102300_Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant.NA", false, false, false, 43, [], 98, ~U[2026-10-23 09:57:38Z], ~U[2026-10-26 18:23:53Z], ~U[2026-10-26 18:23:53Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:48 Proposed AI assistant prototype for Ubuntu\n04:31 Massive PHP flaw discovered, and patched\n06:46 Epic Game Stores new preview looks pretty bad\n09:06 Linux kernel CVEs posted publicly (likely by AI)\n11:27 Big Tech funds study to warn against digital sovereignty\n\nLinks\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nLinux kernel CVEs posted publicly (likely by AI)\nhttps://www.phoronix.com/news/LKML-New-Trend-Vulnerabilities\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/", "Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant", "mQDigsnENu8", 870, false, "https://www.youtube.com/watch?v=mQDigsnENu8", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102300_Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant.NA", false, 43, ~U[2026-10-23 09:57:38Z]] 13:23:53.524 [debug] QUERY OK source="sources" db=0.2ms idle=57.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:23:53.524 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:23:53.525 [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 [4220740] 13:23:53.525 [info] Kicking off download for media item #4220740 (mQDigsnENu8) 13:23:53.528 [debug] Current batch of media processed. Will check again in 1000ms 13:23:54.528 [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 LibreOffice is getting record download numbers\n03:04 AMD proposes initial Ryzen overclocking driver\n04:34 KeePassXC supports auto-type on Wayland now\n06:18 Snapdragon X2 Linux support is apparently pretty good\n\nLinks\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nAMD proposes initial Ryzen overclocking driver\nhttps://www.phoronix.com/news/AMD-AOD-Overclocking-Linux\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nSnapdragon X2 Linux support is apparently pretty good\nhttps://www.phoronix.com/review/snapdragon-x2-linux/10", "duration" => 541, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102200_Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better.NA", "id" => "gy_lktvgtwk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gy_lktvgtwk", "playlist_index" => 5, "timestamp" => 1792652645, "title" => "Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better", "upload_date" => "20261022"} 13:23:54.529 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1004.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:23:54.530 [debug] QUERY OK source="sources" db=0.1ms idle=1005.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:23:54.535 [debug] QUERY OK source="media_items" db=5.2ms idle=1004.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 07:04:05Z], 43] 13:23:54.554 [debug] QUERY OK source="media_items" db=18.6ms idle=1007.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 LibreOffice is getting record download numbers\n03:04 AMD proposes initial Ryzen overclocking driver\n04:34 KeePassXC supports auto-type on Wayland now\n06:18 Snapdragon X2 Linux support is apparently pretty good\n\nLinks\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nAMD proposes initial Ryzen overclocking driver\nhttps://www.phoronix.com/news/AMD-AOD-Overclocking-Linux\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nSnapdragon X2 Linux support is apparently pretty good\nhttps://www.phoronix.com/review/snapdragon-x2-linux/10", "Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better", "bc8519af-134c-4275-b074-e139d1e9b78d", "gy_lktvgtwk", 541, false, "https://www.youtube.com/watch?v=gy_lktvgtwk", 5, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102200_Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better.NA", false, false, false, 43, [], 98, ~U[2026-10-22 07:04:05Z], ~U[2026-10-26 18:23:54Z], ~U[2026-10-26 18:23:54Z], "👕 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 LibreOffice is getting record download numbers\n03:04 AMD proposes initial Ryzen overclocking driver\n04:34 KeePassXC supports auto-type on Wayland now\n06:18 Snapdragon X2 Linux support is apparently pretty good\n\nLinks\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nAMD proposes initial Ryzen overclocking driver\nhttps://www.phoronix.com/news/AMD-AOD-Overclocking-Linux\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nSnapdragon X2 Linux support is apparently pretty good\nhttps://www.phoronix.com/review/snapdragon-x2-linux/10", "Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better", "gy_lktvgtwk", 541, false, "https://www.youtube.com/watch?v=gy_lktvgtwk", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102200_Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better.NA", false, 43, ~U[2026-10-22 07:04:05Z]] 13:23:54.555 [debug] QUERY OK source="sources" db=0.3ms idle=86.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:23:54.555 [debug] QUERY OK source="media_profiles" db=0.1ms idle=25.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:23:54.556 [debug] QUERY OK source="media_items" db=0.2ms idle=25.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 [4211934] 13:23:54.556 [info] Kicking off download for media item #4211934 (gy_lktvgtwk) 13:23:54.558 [debug] Current batch of media processed. Will check again in 1000ms 13:23:55.558 [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 Big influx of Rust code in Kernel 7.4\n02:20 OpenBSD gets Wine and runs Windows games\n04:37 New filesystem designed for satellites proposed for the kernel\n\nLinks\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nNew filesystem designed for satellites proposed for the kernel\nhttps://linuxiac.com/beamfs-filesystem-proposed-for-inclusion-in-the-linux-kernel/", "duration" => 429, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102100_Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games.NA", "id" => "l1f2cr9J5FY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=l1f2cr9J5FY", "playlist_index" => 6, "timestamp" => 1792572418, "title" => "Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games", "upload_date" => "20261021"} 13:23:55.559 [debug] QUERY OK source="sources" db=0.2ms 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] 13:23:55.559 [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] 13:23:55.564 [debug] QUERY OK source="media_items" db=4.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-10-21 08:46:58Z], 43] 13:23:55.570 [debug] QUERY OK source="media_items" db=5.4ms 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" ["👕 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 Big influx of Rust code in Kernel 7.4\n02:20 OpenBSD gets Wine and runs Windows games\n04:37 New filesystem designed for satellites proposed for the kernel\n\nLinks\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nNew filesystem designed for satellites proposed for the kernel\nhttps://linuxiac.com/beamfs-filesystem-proposed-for-inclusion-in-the-linux-kernel/", "Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games", "2c6b191a-8783-4993-9eae-fcc4d3259fa9", "l1f2cr9J5FY", 429, false, "https://www.youtube.com/watch?v=l1f2cr9J5FY", 6, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102100_Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games.NA", false, false, false, 43, [], 98, ~U[2026-10-21 08:46:58Z], ~U[2026-10-26 18:23:55Z], ~U[2026-10-26 18:23:55Z], "👕 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 Big influx of Rust code in Kernel 7.4\n02:20 OpenBSD gets Wine and runs Windows games\n04:37 New filesystem designed for satellites proposed for the kernel\n\nLinks\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nNew filesystem designed for satellites proposed for the kernel\nhttps://linuxiac.com/beamfs-filesystem-proposed-for-inclusion-in-the-linux-kernel/", "Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games", "l1f2cr9J5FY", 429, false, "https://www.youtube.com/watch?v=l1f2cr9J5FY", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102100_Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games.NA", false, 43, ~U[2026-10-21 08:46:58Z]] 13:23:55.571 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:23:55.571 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:23:55.571 [debug] QUERY OK source="media_items" db=0.2ms idle=11.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4204488] 13:23:55.572 [info] Kicking off download for media item #4204488 (l1f2cr9J5FY) 13:23:55.574 [debug] Current batch of media processed. Will check again in 1000ms 13:23:56.574 [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 Torvald's AI generated code is rreworked for better performance\n02:39 Cutefish desktop revived as a vibe coded MacOS Clone\n07:33 Bitwarden moves to a commercial license, mostly\n\nLinks\nTorvald's AI generated code is rreworked for better performance\nhttps://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750", "duration" => 695, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102000_Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence.NA", "id" => "qBNYnMDXcFI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qBNYnMDXcFI", "playlist_index" => 7, "timestamp" => 1792482237, "title" => "Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence", "upload_date" => "20261020"} 13:23:56.575 [debug] QUERY OK source="sources" db=0.3ms 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] 13:23:56.576 [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] 13:23:56.580 [debug] QUERY OK source="media_items" db=4.5ms 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-10-20 07:43:57Z], 43] 13:23:56.582 [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 Torvald's AI generated code is rreworked for better performance\n02:39 Cutefish desktop revived as a vibe coded MacOS Clone\n07:33 Bitwarden moves to a commercial license, mostly\n\nLinks\nTorvald's AI generated code is rreworked for better performance\nhttps://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750", "Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence", "1fa30726-4ec5-4bd7-9426-3d7b86d50322", "qBNYnMDXcFI", 695, false, "https://www.youtube.com/watch?v=qBNYnMDXcFI", 7, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102000_Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence.NA", false, false, false, 43, [], 98, ~U[2026-10-20 07:43:57Z], ~U[2026-10-26 18:23:56Z], ~U[2026-10-26 18:23:56Z], "👕 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 Torvald's AI generated code is rreworked for better performance\n02:39 Cutefish desktop revived as a vibe coded MacOS Clone\n07:33 Bitwarden moves to a commercial license, mostly\n\nLinks\nTorvald's AI generated code is rreworked for better performance\nhttps://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750", "Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence", "qBNYnMDXcFI", 695, false, "https://www.youtube.com/watch?v=qBNYnMDXcFI", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102000_Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence.NA", false, 43, ~U[2026-10-20 07:43:57Z]] 13:23:56.582 [debug] QUERY OK source="sources" db=0.3ms idle=112.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:23:56.583 [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] 13:23:56.583 [debug] QUERY OK source="media_items" db=0.3ms 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 [4196300] 13:23:56.583 [info] Kicking off download for media item #4196300 (qBNYnMDXcFI) 13:23:56.587 [debug] Current batch of media processed. Will check again in 1000ms 13:23:57.588 [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 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n03:37 Kernel 7.3 released\n05:27 GNOME OS has a preview\n08:21 Mint shows more of their new apps\n10:36 Meta's TOS say all business content is fair use for AI training\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nGNOME OS has a preview\nhttps://blogs.gnome.org/adrianvovk/2026/10/16/gnome-os-preview/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nMeta's TOS say all business content is fair use for AI training\nhttps://arstechnica.com/tech-policy/2026/10/meta-may-use-sweeping-new-commercial-tos-to-avoid-millions-in-ai-licensing-fees/", "duration" => 813, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3.NA", "id" => "QSqdUxnMopg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QSqdUxnMopg", "playlist_index" => 8, "timestamp" => 1792400839, "title" => "Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3", "upload_date" => "20261019"} 13:23:57.589 [debug] QUERY OK source="sources" db=0.1ms idle=1006.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:23:57.589 [debug] QUERY OK source="sources" db=0.1ms idle=1006.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:23:57.594 [debug] QUERY OK source="media_items" db=4.6ms idle=1006.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 09:07:19Z], 43] 13:23:57.596 [debug] QUERY OK source="media_items" db=1.3ms idle=1007.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 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n03:37 Kernel 7.3 released\n05:27 GNOME OS has a preview\n08:21 Mint shows more of their new apps\n10:36 Meta's TOS say all business content is fair use for AI training\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nGNOME OS has a preview\nhttps://blogs.gnome.org/adrianvovk/2026/10/16/gnome-os-preview/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nMeta's TOS say all business content is fair use for AI training\nhttps://arstechnica.com/tech-policy/2026/10/meta-may-use-sweeping-new-commercial-tos-to-avoid-millions-in-ai-licensing-fees/", "Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3", "e2d0d378-140e-4557-9521-7a4357db6934", "QSqdUxnMopg", 813, false, "https://www.youtube.com/watch?v=QSqdUxnMopg", 8, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3.NA", false, false, false, 43, [], 97, ~U[2026-10-19 09:07:19Z], ~U[2026-10-26 18:23:57Z], ~U[2026-10-26 18:23: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 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n03:37 Kernel 7.3 released\n05:27 GNOME OS has a preview\n08:21 Mint shows more of their new apps\n10:36 Meta's TOS say all business content is fair use for AI training\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nGNOME OS has a preview\nhttps://blogs.gnome.org/adrianvovk/2026/10/16/gnome-os-preview/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nMeta's TOS say all business content is fair use for AI training\nhttps://arstechnica.com/tech-policy/2026/10/meta-may-use-sweeping-new-commercial-tos-to-avoid-millions-in-ai-licensing-fees/", "Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3", "QSqdUxnMopg", 813, false, "https://www.youtube.com/watch?v=QSqdUxnMopg", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3.NA", false, 43, ~U[2026-10-19 09:07:19Z]] 13:23:57.597 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [43] 13:23:57.597 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:23:57.597 [debug] QUERY OK source="media_items" db=0.3ms 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 [4188895] 13:23:57.597 [info] Kicking off download for media item #4188895 (QSqdUxnMopg) 13:23:57.601 [debug] Current batch of media processed. Will check again in 1000ms 13:23:58.601 [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:44 My 20 years with KDE\n14:45 Will A.I. make Linux fragmentation worse?", "duration" => 1586, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?.NA", "id" => "SWg3_hfAEUg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SWg3_hfAEUg", "playlist_index" => 9, "timestamp" => 1792393645, "title" => "Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?", "upload_date" => "20261019"} 13:23:58.602 [debug] QUERY OK source="sources" db=0.2ms idle=1004.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:23:58.602 [debug] QUERY OK source="sources" db=0.1ms idle=1005.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:23:58.606 [debug] QUERY OK source="media_items" db=3.6ms idle=1004.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 07:07:25Z], 43] 13:23:58.607 [debug] QUERY OK source="media_items" db=0.6ms 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:44 My 20 years with KDE\n14:45 Will A.I. make Linux fragmentation worse?", "Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?", "d5b3746c-c01a-433a-a800-2786402e671b", "SWg3_hfAEUg", 1586, false, "https://www.youtube.com/watch?v=SWg3_hfAEUg", 9, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?.NA", false, false, false, 43, [], 97, ~U[2026-10-19 07:07:25Z], ~U[2026-10-26 18:23:58Z], ~U[2026-10-26 18:23:58Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:44 My 20 years with KDE\n14:45 Will A.I. make Linux fragmentation worse?", "Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?", "SWg3_hfAEUg", 1586, false, "https://www.youtube.com/watch?v=SWg3_hfAEUg", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?.NA", false, 43, ~U[2026-10-19 07:07:25Z]] 13:23:58.607 [debug] QUERY OK source="sources" db=0.3ms idle=135.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:23:58.608 [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] 13:23:58.608 [debug] QUERY OK source="media_items" db=0.2ms 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 [4188376] 13:23:58.608 [info] Kicking off download for media item #4188376 (SWg3_hfAEUg) 13:23:58.611 [debug] Current batch of media processed. Will check again in 1000ms 13:23:59.540 [info] {"source":"oban","duration":9444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:59.611 [debug] Current batch of media processed. Will check again in 1000ms 13:24:00.238 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:24:00.612 [debug] Current batch of media processed. Will check again in 1000ms 13:24:01.613 [debug] Current batch of media processed. Will check again in 1000ms 13:24:02.615 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get a Hostinger VPS for self-hosting, home lab projects, automations, running Docker containers, and hosting your own services! Use code LINUXEXPERIMENT for a special deal: https://hostinger.com/linuxexperiment\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:49 Sponsor: Hostinger\n02:02 GNOME OS released in Preview\n06:03 Epic Games Store has a Linux client, EAC will support Linux too\n10:01 Torvalds builds branch for kernel using AI\n13:42 Kernel devs ponder removing mandatory AI use disclosure\n15:32 KDE Plasma 6.8 is released\n17:13 Ubuntu 26.10 released\n19:16 Mint 27 looks like a big release\n21:27 Steam Client is finally moving to 64bit\n22:27 Netherlands backs away from MS365 rollout\n24:16 Dev behind vibe coded Adobe suite bashes FOSS projects\n25:57 Framework triples their funding for CachyOS\n27:11 Firefox releases a commercial Enterprise version\n28:57 New EuroOffice fork that looks like MS Office\n30:54 Valve releases CAD files for Steam Frame\n32:32 Sponsor: Tuxedo Computers\n\nLinks:\n\nGNOME OS released in Preview\nhttps://os.gnome.org/\n\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/\n\n#linux #linuxnews #technews", "duration" => 2040, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101700_GNOME OS Preview, Epic supports Linux, Linux kernel set to go all in on AI - Linux Weekly News.mp4", "id" => "jsfxngunmbs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jsfxngunmbs", "playlist_index" => 10, "timestamp" => 1792225538, "title" => "GNOME OS Preview, Epic supports Linux, Linux kernel set to go all in on AI - Linux Weekly News", "upload_date" => "20261017"} 13:24:02.615 [debug] QUERY OK source="sources" db=0.2ms idle=1157.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:24:02.615 [debug] QUERY OK source="sources" db=0.1ms idle=1140.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:24:02.620 [debug] QUERY OK source="media_items" db=4.3ms idle=158.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-17 08:25:38Z], 43] 13:24:02.623 [debug] QUERY OK source="media_items" db=1.9ms idle=163.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 a Hostinger VPS for self-hosting, home lab projects, automations, running Docker containers, and hosting your own services! Use code LINUXEXPERIMENT for a special deal: https://hostinger.com/linuxexperiment\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:49 Sponsor: Hostinger\n02:02 GNOME OS released in Preview\n06:03 Epic Games Store has a Linux client, EAC will support Linux too\n10:01 Torvalds builds branch for kernel using AI\n13:42 Kernel devs ponder removing mandatory AI use disclosure\n15:32 KDE Plasma 6.8 is released\n17:13 Ubuntu 26.10 released\n19:16 Mint 27 looks like a big release\n21:27 Steam Client is finally moving to 64bit\n22:27 Netherlands backs away from MS365 rollout\n24:16 Dev behind vibe coded Adobe suite bashes FOSS projects\n25:57 Framework triples their funding for CachyOS\n27:11 Firefox releases a commercial Enterprise version\n28:57 New EuroOffice fork that looks like MS Office\n30:54 Valve releases CAD files for Steam Frame\n32:32 Sponsor: Tuxedo Computers\n\nLinks:\n\nGNOME OS released in Preview\nhttps://os.gnome.org/\n\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/\n\n#linux #linuxnews #technews", "GNOME OS Preview, Epic supports Linux, Linux kernel set to go all in on AI - Linux Weekly News", "0039b82f-7b7b-4bfc-8ee8-fb5a3c12f3e9", "jsfxngunmbs", 2040, false, "https://www.youtube.com/watch?v=jsfxngunmbs", 10, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101700_GNOME OS Preview, Epic supports Linux, Linux kernel set to go all in on AI - Linux Weekly News.mp4", false, false, false, 43, [], 98, ~U[2026-10-17 08:25:38Z], ~U[2026-10-26 18:24:02Z], ~U[2026-10-26 18:24:02Z], "Get a Hostinger VPS for self-hosting, home lab projects, automations, running Docker containers, and hosting your own services! Use code LINUXEXPERIMENT for a special deal: https://hostinger.com/linuxexperiment\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:49 Sponsor: Hostinger\n02:02 GNOME OS released in Preview\n06:03 Epic Games Store has a Linux client, EAC will support Linux too\n10:01 Torvalds builds branch for kernel using AI\n13:42 Kernel devs ponder removing mandatory AI use disclosure\n15:32 KDE Plasma 6.8 is released\n17:13 Ubuntu 26.10 released\n19:16 Mint 27 looks like a big release\n21:27 Steam Client is finally moving to 64bit\n22:27 Netherlands backs away from MS365 rollout\n24:16 Dev behind vibe coded Adobe suite bashes FOSS projects\n25:57 Framework triples their funding for CachyOS\n27:11 Firefox releases a commercial Enterprise version\n28:57 New EuroOffice fork that looks like MS Office\n30:54 Valve releases CAD files for Steam Frame\n32:32 Sponsor: Tuxedo Computers\n\nLinks:\n\nGNOME OS released in Preview\nhttps://os.gnome.org/\n\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones (truncated) 13:24:02.623 [debug] QUERY OK source="sources" db=0.6ms idle=146.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:24:02.624 [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] 13:24:02.624 [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 [4172904] 13:24:02.624 [debug] Current batch of media processed. Will check again in 1000ms 13:24:03.486 [info] GET /sources/43/media/4211934/edit 13:24:03.487 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4211934", "source_id" => "43"} Pipelines: [:browser] 13:24:03.487 [debug] QUERY OK source="media_items" db=0.1ms idle=864.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" = ?) [4211934] 13:24:03.487 [debug] QUERY OK source="settings" db=0.1ms idle=863.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:03.488 [debug] QUERY OK source="settings" db=0.0ms idle=863.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:03.488 [debug] QUERY OK source="settings" db=0.1ms idle=863.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:03.489 [info] Sent 200 in 2ms 13:24:03.625 [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 Ubuntu 26.10 released\n03:10 AUR still getting more malware\n04:53 Easy Anti Cheat v2 is apparently easy to bypass\n07:04 Steam Client is finally moving to 64bit\n\nLinks\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nAUR still getting more malware\nhttps://www.bleepingcomputer.com/news/security/fake-arch-linux-packages-push-malware-with-root-privileges/\n\nEasy Anti Cheat v2 is apparently easy to bypass\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403", "duration" => 523, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101600_Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues.NA", "id" => "n4Pi_dhVyiE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=n4Pi_dhVyiE", "playlist_index" => 11, "timestamp" => 1792134234, "title" => "Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues", "upload_date" => "20261016"} 13:24:03.626 [debug] QUERY OK source="sources" db=0.1ms idle=147.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:24:03.626 [debug] QUERY OK source="sources" db=0.1ms idle=138.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:24:03.630 [debug] QUERY OK source="media_items" db=4.0ms idle=138.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-16 07:03:54Z], 43] 13:24:03.631 [debug] QUERY OK source="media_items" db=0.7ms idle=142.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 Ubuntu 26.10 released\n03:10 AUR still getting more malware\n04:53 Easy Anti Cheat v2 is apparently easy to bypass\n07:04 Steam Client is finally moving to 64bit\n\nLinks\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nAUR still getting more malware\nhttps://www.bleepingcomputer.com/news/security/fake-arch-linux-packages-push-malware-with-root-privileges/\n\nEasy Anti Cheat v2 is apparently easy to bypass\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403", "Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues", "feb8bdb4-49ab-4985-9113-42665de2039c", "n4Pi_dhVyiE", 523, false, "https://www.youtube.com/watch?v=n4Pi_dhVyiE", 11, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101600_Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues.NA", false, false, false, 43, [], 98, ~U[2026-10-16 07:03:54Z], ~U[2026-10-26 18:24:03Z], ~U[2026-10-26 18:24:03Z], "👕 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 Ubuntu 26.10 released\n03:10 AUR still getting more malware\n04:53 Easy Anti Cheat v2 is apparently easy to bypass\n07:04 Steam Client is finally moving to 64bit\n\nLinks\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nAUR still getting more malware\nhttps://www.bleepingcomputer.com/news/security/fake-arch-linux-packages-push-malware-with-root-privileges/\n\nEasy Anti Cheat v2 is apparently easy to bypass\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403", "Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues", "n4Pi_dhVyiE", 523, false, "https://www.youtube.com/watch?v=n4Pi_dhVyiE", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101600_Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues.NA", false, 43, ~U[2026-10-16 07:03:54Z]] 13:24:03.631 [debug] QUERY OK source="sources" db=0.1ms idle=143.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:24:03.632 [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] 13:24:03.632 [debug] QUERY OK source="media_items" db=0.3ms 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 [4164479] 13:24:03.632 [info] Kicking off download for media item #4164479 (n4Pi_dhVyiE) 13:24:03.635 [debug] Current batch of media processed. Will check again in 1000ms 13:24:03.798 [info] GET /sources/43/media/4164479 13:24:03.798 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4164479", "source_id" => "43"} Pipelines: [:browser] 13:24:03.799 [debug] QUERY OK source="media_items" db=0.2ms idle=167.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" = ?) [4164479] 13:24:03.799 [debug] QUERY OK source="tasks" db=0.4ms idle=167.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" [4164479] 13:24:03.799 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [43] 13:24:03.800 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=167.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" = ?) [522356] 13:24:03.800 [debug] QUERY OK source="settings" db=0.0ms idle=165.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:03.800 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:03.801 [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 [] 13:24:03.801 [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] 13:24:03.803 [info] Sent 200 in 5ms 13:24:04.298 [info] GET /sources/43/media/4196300 13:24:04.298 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4196300", "source_id" => "43"} Pipelines: [:browser] 13:24:04.299 [debug] QUERY OK source="media_items" db=0.1ms idle=498.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" = ?) [4196300] 13:24:04.299 [debug] QUERY OK source="tasks" db=0.1ms idle=498.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" [4196300] 13:24:04.299 [debug] QUERY OK source="sources" db=0.1ms idle=498.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:04.299 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=498.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" = ?) [529128] 13:24:04.300 [debug] QUERY OK source="settings" db=0.0ms idle=498.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:04.300 [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 [] 13:24:04.300 [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 [] 13:24:04.300 [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] 13:24:04.301 [info] Sent 200 in 3ms 13:24:04.635 [debug] Current batch of media processed. Will check again in 1000ms 13:24:04.800 [info] GET /sources/43/media/4064163 13:24:04.800 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4064163", "source_id" => "43"} Pipelines: [:browser] 13:24:04.800 [debug] QUERY OK source="media_items" db=0.2ms idle=500.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4064163] 13:24:04.801 [debug] QUERY OK source="tasks" db=0.1ms idle=500.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" [4064163] 13:24:04.801 [debug] QUERY OK source="sources" db=0.1ms idle=500.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:04.801 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=500.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 (?,?)) [499664, 502931] 13:24:04.801 [debug] QUERY OK source="settings" db=0.0ms idle=322.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:04.801 [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 [] 13:24:04.802 [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 [] 13:24:04.802 [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] 13:24:04.803 [info] Sent 200 in 3ms 13:24:05.301 [info] GET /sources/30/media/4230255 13:24:05.301 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4230255", "source_id" => "30"} Pipelines: [:browser] 13:24:05.301 [debug] QUERY OK source="media_items" db=0.1ms idle=500.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4230255] 13:24:05.302 [debug] QUERY OK source="sources" db=0.1ms idle=500.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:05.302 [debug] QUERY OK source="tasks" db=0.3ms idle=500.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" [4230255] 13:24:05.303 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=500.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [537969, 540455] 13:24:05.303 [debug] QUERY OK source="settings" db=0.0ms idle=500.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:05.303 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:05.303 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:05.304 [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] 13:24:05.305 [info] Sent 200 in 3ms 13:24:05.636 [debug] Current batch of media processed. Will check again in 1000ms 13:24:05.822 [info] GET /sources/35/media/4128476/edit 13:24:05.823 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4128476", "source_id" => "35"} Pipelines: [:browser] 13:24:05.823 [debug] QUERY OK source="media_items" db=0.1ms idle=519.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" = ?) [4128476] 13:24:05.823 [debug] QUERY OK source="settings" db=0.0ms idle=520.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:05.823 [debug] QUERY OK source="settings" db=0.0ms idle=520.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:05.824 [debug] QUERY OK source="settings" db=0.0ms idle=520.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:05.824 [info] Sent 200 in 2ms 13:24:06.324 [info] GET /sources/37/media/4191859/edit 13:24:06.324 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4191859", "source_id" => "37"} Pipelines: [:browser] 13:24:06.325 [debug] QUERY OK source="media_items" db=0.1ms idle=844.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" = ?) [4191859] 13:24:06.325 [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 [] 13:24:06.325 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:24:06.325 [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 [] 13:24:06.326 [info] Sent 200 in 1ms 13:24:06.637 [debug] Current batch of media processed. Will check again in 1000ms 13:24:06.649 [info] GET /sources/43/media/4048994/edit 13:24:06.649 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4048994", "source_id" => "43"} Pipelines: [:browser] 13:24:06.650 [debug] QUERY OK source="media_items" db=0.2ms idle=325.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" = ?) [4048994] 13:24:06.650 [debug] QUERY OK source="settings" db=0.0ms idle=325.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:06.650 [debug] QUERY OK source="settings" db=0.0ms idle=325.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:06.651 [debug] QUERY OK source="settings" db=0.0ms idle=325.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:06.651 [info] Sent 200 in 2ms 13:24:06.976 [info] GET /sources/43/media/4009477 13:24:06.976 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4009477", "source_id" => "43"} Pipelines: [:browser] 13:24:06.976 [debug] QUERY OK source="media_items" db=0.1ms idle=495.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" = ?) [4009477] 13:24:06.977 [debug] QUERY OK source="tasks" db=0.1ms idle=326.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" [4009477] 13:24:06.977 [debug] QUERY OK source="sources" db=0.1ms idle=326.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:06.977 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=326.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" = ?) [490383] 13:24:06.977 [debug] QUERY OK source="settings" db=0.0ms idle=326.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:06.977 [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 [] 13:24:06.978 [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 [] 13:24:06.978 [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] 13:24:06.979 [info] Sent 200 in 3ms 13:24:07.254 [info] GET /sources/30/media/4159190 13:24:07.254 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4159190", "source_id" => "30"} Pipelines: [:browser] 13:24:07.254 [debug] QUERY OK source="media_items" db=0.1ms idle=277.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" = ?) [4159190] 13:24:07.255 [debug] QUERY OK source="tasks" db=0.1ms idle=277.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" [4159190] 13:24:07.255 [debug] QUERY OK source="sources" db=0.1ms idle=277.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:07.255 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=277.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 (?,?)) [521362, 523755] 13:24:07.255 [debug] QUERY OK source="settings" db=0.0ms idle=277.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:07.256 [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 [] 13:24:07.256 [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 [] 13:24:07.256 [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] 13:24:07.258 [info] Sent 200 in 3ms 13:24:07.538 [info] GET /sources/43/media/4143209 13:24:07.538 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4143209", "source_id" => "43"} Pipelines: [:browser] 13:24:07.539 [debug] QUERY OK source="media_items" db=0.2ms idle=283.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" = ?) [4143209] 13:24:07.539 [debug] QUERY OK source="tasks" db=0.1ms idle=283.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" [4143209] 13:24:07.539 [debug] QUERY OK source="sources" db=0.3ms idle=283.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:07.540 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=283.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 (?,?)) [517985, 520385] 13:24:07.541 [debug] QUERY OK source="settings" db=0.0ms idle=58.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:07.541 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:07.541 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:07.542 [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] 13:24:07.544 [info] Sent 200 in 5ms 13:24:07.638 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Grab 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\n01:10 Internals and hardware support\n02:40 Desktop changes\n07:42 Ai speech to text\n09:52 App center changes\n11:38 Installer changes\n13:15 Rustification\n14:32 Gnome 51 changes\n20:32 Conclusion\n21:53 Sponsor: Tuxedo Computers\n\n#ubuntu #linux #linuxdesktop", "duration" => 1421, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Ubuntu 26.10 copies Windows tiling and rustifies itself.mp4", "id" => "4O_OU0OZn3Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4O_OU0OZn3Q", "playlist_index" => 12, "timestamp" => 1792064323, "title" => "Ubuntu 26.10 copies Windows tiling and rustifies itself", "upload_date" => "20261015"} 13:24:07.639 [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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 13:24:07.639 [debug] QUERY OK source="sources" db=0.1ms idle=98.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:24:07.644 [debug] QUERY OK source="media_items" db=4.6ms idle=98.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 11:38:43Z], 43] 13:24:07.645 [debug] QUERY OK source="media_items" db=0.9ms idle=102.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" ["Grab 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\n01:10 Internals and hardware support\n02:40 Desktop changes\n07:42 Ai speech to text\n09:52 App center changes\n11:38 Installer changes\n13:15 Rustification\n14:32 Gnome 51 changes\n20:32 Conclusion\n21:53 Sponsor: Tuxedo Computers\n\n#ubuntu #linux #linuxdesktop", "Ubuntu 26.10 copies Windows tiling and rustifies itself", "ddda22a8-33d4-4946-ab24-3fd6d25a8f1c", "4O_OU0OZn3Q", 1421, false, "https://www.youtube.com/watch?v=4O_OU0OZn3Q", 12, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Ubuntu 26.10 copies Windows tiling and rustifies itself.mp4", false, false, false, 43, [], 97, ~U[2026-10-15 11:38:43Z], ~U[2026-10-26 18:24:07Z], ~U[2026-10-26 18:24:07Z], "Grab 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\n01:10 Internals and hardware support\n02:40 Desktop changes\n07:42 Ai speech to text\n09:52 App center changes\n11:38 Installer changes\n13:15 Rustification\n14:32 Gnome 51 changes\n20:32 Conclusion\n21:53 Sponsor: Tuxedo Computers\n\n#ubuntu #linux #linuxdesktop", "Ubuntu 26.10 copies Windows tiling and rustifies itself", "4O_OU0OZn3Q", 1421, false, "https://www.youtube.com/watch?v=4O_OU0OZn3Q", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Ubuntu 26.10 copies Windows tiling and rustifies itself.mp4", false, 43, ~U[2026-10-15 11:38:43Z]] 13:24:07.646 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [43] 13:24:07.646 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:24:07.647 [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 [4157846] 13:24:07.647 [debug] Current batch of media processed. Will check again in 1000ms 13:24:07.824 [info] GET /sources/43/media/4188895 13:24:07.824 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4188895", "source_id" => "43"} Pipelines: [:browser] 13:24:07.826 [debug] QUERY OK source="media_items" db=0.8ms idle=180.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" = ?) [4188895] 13:24:07.826 [debug] QUERY OK source="tasks" db=0.1ms idle=180.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" [4188895] 13:24:07.826 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [43] 13:24:07.826 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=180.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" = ?) [527341] 13:24:07.827 [debug] QUERY OK source="settings" db=0.0ms idle=180.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:07.827 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:07.827 [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 [] 13:24:07.828 [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] 13:24:07.829 [info] Sent 200 in 5ms 13:24:08.110 [info] GET /sources/43/media/4164479/edit 13:24:08.110 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4164479", "source_id" => "43"} Pipelines: [:browser] 13:24:08.110 [debug] QUERY OK source="media_items" db=0.2ms idle=283.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" = ?) [4164479] 13:24:08.111 [debug] QUERY OK source="settings" db=0.1ms idle=283.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:08.111 [debug] QUERY OK source="settings" db=0.0ms idle=283.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:08.111 [debug] QUERY OK source="settings" db=0.1ms idle=283.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:08.112 [info] Sent 200 in 2ms 13:24:08.647 [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 Epic Games Store has a Linux client, EAC will support Linux too\n04:32 KDE Plasma 6.8 is released\n06:22 New EuroOffice fork that looks like MS Office\n08:40 Framework triples their funding for CachyOS\n09:42 Netherlands backs away from MS365 rollout\n\nLinks\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/", "duration" => 722, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone.NA", "id" => "zHudaeEcGu4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zHudaeEcGu4", "playlist_index" => 13, "timestamp" => 1792057711, "title" => "Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone", "upload_date" => "20261015"} 13:24:08.648 [debug] QUERY OK source="sources" db=0.1ms idle=537.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:24:08.648 [debug] QUERY OK source="sources" db=0.0ms idle=537.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:24:08.652 [debug] QUERY OK source="media_items" db=3.5ms idle=537.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 09:48:31Z], 43] 13:24:08.653 [debug] QUERY OK source="media_items" db=0.7ms idle=540.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 Epic Games Store has a Linux client, EAC will support Linux too\n04:32 KDE Plasma 6.8 is released\n06:22 New EuroOffice fork that looks like MS Office\n08:40 Framework triples their funding for CachyOS\n09:42 Netherlands backs away from MS365 rollout\n\nLinks\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/", "Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone", "deeacf35-6021-4579-8632-6c3877285285", "zHudaeEcGu4", 722, false, "https://www.youtube.com/watch?v=zHudaeEcGu4", 13, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone.NA", false, false, false, 43, [], 97, ~U[2026-10-15 09:48:31Z], ~U[2026-10-26 18:24:08Z], ~U[2026-10-26 18:24: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:05 Epic Games Store has a Linux client, EAC will support Linux too\n04:32 KDE Plasma 6.8 is released\n06:22 New EuroOffice fork that looks like MS Office\n08:40 Framework triples their funding for CachyOS\n09:42 Netherlands backs away from MS365 rollout\n\nLinks\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/", "Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone", "zHudaeEcGu4", 722, false, "https://www.youtube.com/watch?v=zHudaeEcGu4", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone.NA", false, 43, ~U[2026-10-15 09:48:31Z]] 13:24:08.653 [debug] QUERY OK source="sources" db=0.1ms idle=170.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:08.654 [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] 13:24:08.654 [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 [4157367] 13:24:08.654 [info] Kicking off download for media item #4157367 (zHudaeEcGu4) 13:24:08.656 [debug] Current batch of media processed. Will check again in 1000ms 13:24:09.656 [debug] Current batch of media processed. Will check again in 1000ms 13:24:10.657 [debug] Current batch of media processed. Will check again in 1000ms 13:24:11.658 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Grab 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\n01:32 Wayland-only\n02:59 Kde theming\n09:33 Plasma-desktop\n12:42 Window management\n15:09 Performance improvements & wayland\n17:28 Misc. changes to the desktop\n18:27 Settings\n20:58 Application changes\n25:13 Conclusion\n27:55 Sponsor: Tuxedo Computers\n\n#kdeplasma #linux #linuxdesktop", "duration" => 1769, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!.mp4", "id" => "McUdRVblhvE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=McUdRVblhvE", "playlist_index" => 14, "timestamp" => 1791969753, "title" => "KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!", "upload_date" => "20261014"} 13:24:11.659 [debug] QUERY OK source="sources" db=0.2ms idle=1201.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:24:11.659 [debug] QUERY OK source="sources" db=0.1ms idle=1201.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:24:11.664 [debug] QUERY OK source="media_items" db=4.8ms idle=1202.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 09:22:33Z], 43] 13:24:11.668 [debug] QUERY OK source="media_items" db=3.2ms idle=1179.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" ["Grab 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\n01:32 Wayland-only\n02:59 Kde theming\n09:33 Plasma-desktop\n12:42 Window management\n15:09 Performance improvements & wayland\n17:28 Misc. changes to the desktop\n18:27 Settings\n20:58 Application changes\n25:13 Conclusion\n27:55 Sponsor: Tuxedo Computers\n\n#kdeplasma #linux #linuxdesktop", "KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!", "e714e009-aed3-4a58-ab2f-fe4fb174290b", "McUdRVblhvE", 1769, false, "https://www.youtube.com/watch?v=McUdRVblhvE", 14, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!.mp4", false, false, false, 43, [], 97, ~U[2026-10-14 09:22:33Z], ~U[2026-10-26 18:24:11Z], ~U[2026-10-26 18:24:11Z], "Grab 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\n01:32 Wayland-only\n02:59 Kde theming\n09:33 Plasma-desktop\n12:42 Window management\n15:09 Performance improvements & wayland\n17:28 Misc. changes to the desktop\n18:27 Settings\n20:58 Application changes\n25:13 Conclusion\n27:55 Sponsor: Tuxedo Computers\n\n#kdeplasma #linux #linuxdesktop", "KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!", "McUdRVblhvE", 1769, false, "https://www.youtube.com/watch?v=McUdRVblhvE", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!.mp4", false, 43, ~U[2026-10-14 09:22:33Z]] 13:24:11.668 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [43] 13:24:11.669 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:24:11.669 [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 [4149493] 13:24:11.669 [debug] Current batch of media processed. Will check again in 1000ms 13:24:12.669 [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 Mint 27 looks like a big release\n02:52 Kernel devs ponder removing mandatory AI use disclosure\n04:10 OnlyOffice 10 gives more permissions to AI\n06:36 New distro brings back convergence between phone and PC\n\nLinks:\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nOnlyOffice 10 gives more permissions to AI\nhttps://www.omgubuntu.co.uk/2026/10/onlyoffice-10-expands-ai-tools\n\nNew distro brings back convergence between phone and PC\nhttps://simplyluma.com/", "duration" => 621, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive.NA", "id" => "9l5gMFbbeFQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9l5gMFbbeFQ", "playlist_index" => 15, "timestamp" => 1791964920, "title" => "Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive", "upload_date" => "20261014"} 13:24:12.670 [debug] QUERY OK source="sources" db=0.2ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 13:24:12.670 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:24:12.675 [debug] QUERY OK source="media_items" db=4.5ms idle=1001.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 08:02:00Z], 43] 13:24:12.676 [debug] QUERY OK source="media_items" db=0.9ms 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" ["👕 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 Mint 27 looks like a big release\n02:52 Kernel devs ponder removing mandatory AI use disclosure\n04:10 OnlyOffice 10 gives more permissions to AI\n06:36 New distro brings back convergence between phone and PC\n\nLinks:\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nOnlyOffice 10 gives more permissions to AI\nhttps://www.omgubuntu.co.uk/2026/10/onlyoffice-10-expands-ai-tools\n\nNew distro brings back convergence between phone and PC\nhttps://simplyluma.com/", "Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive", "9077416d-1855-43a3-9e01-004df82cddbe", "9l5gMFbbeFQ", 621, false, "https://www.youtube.com/watch?v=9l5gMFbbeFQ", 15, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive.NA", false, false, false, 43, [], 97, ~U[2026-10-14 08:02:00Z], ~U[2026-10-26 18:24:12Z], ~U[2026-10-26 18:24: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 Mint 27 looks like a big release\n02:52 Kernel devs ponder removing mandatory AI use disclosure\n04:10 OnlyOffice 10 gives more permissions to AI\n06:36 New distro brings back convergence between phone and PC\n\nLinks:\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nOnlyOffice 10 gives more permissions to AI\nhttps://www.omgubuntu.co.uk/2026/10/onlyoffice-10-expands-ai-tools\n\nNew distro brings back convergence between phone and PC\nhttps://simplyluma.com/", "Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive", "9l5gMFbbeFQ", 621, false, "https://www.youtube.com/watch?v=9l5gMFbbeFQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive.NA", false, 43, ~U[2026-10-14 08:02:00Z]] 13:24:12.677 [debug] QUERY OK source="sources" db=0.1ms idle=188.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:24:12.677 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:24:12.678 [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 [4149136] 13:24:12.678 [info] Kicking off download for media item #4149136 (9l5gMFbbeFQ) 13:24:12.679 [debug] Current batch of media processed. Will check again in 1000ms 13:24:13.680 [debug] Current batch of media processed. Will check again in 1000ms 13:24:14.681 [debug] Current batch of media processed. Will check again in 1000ms 13:24:15.682 [debug] Current batch of media processed. Will check again in 1000ms 13:24:16.683 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "👏 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:53 What changed\n02:35 What's in the box\n04:27 Design & build quality\n06:52 Slap a Linux on it\n07:52 Display & touchscreen\n09:25 The good touch\n12:33 Keyboard & touchpad\n14:57 Webcam & mic\n16:25 Performance\n18:25 Conclusion\n\nLinks\n\nhttps://guides.frame.work/Guide/Display+Replacement+on+Framework+Laptop+12/428?lang=en\n\nhttps://www.figma.com/proto/BCDFqAEpP77tfkZyvHa9Mg/Review-guides?node-id=6191-2182&p=f&t=nLcQuvmdjojURlRP-0&scaling=contain&content-scaling=fixed&page-id=6191%3A1959\nhttps://guides.frame.work/Guide/Fedora+KDE+Plasma+Desktop+Installation+on+the+Framework+Laptop+12+Intel®+Core™+Series+3/856#s4394\nhttps://frame.work/fr/en/blog/framework-laptop-12-now-with-core-series-3\nhttps://frame.work/fr/en/products/laptop12-diy-intel-series3/configuration/new\n\n#framework #linuxdesktop #linux", "duration" => 1287, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?.mp4", "id" => "KEKiEabV7fk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KEKiEabV7fk", "playlist_index" => 16, "timestamp" => 1791903609, "title" => "Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?", "upload_date" => "20261013"} 13:24:16.684 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=226.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:24:16.685 [debug] QUERY OK source="sources" db=0.1ms idle=227.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:24:16.689 [debug] QUERY OK source="media_items" db=4.6ms idle=227.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 15:00:09Z], 43] 13:24:16.692 [debug] QUERY OK source="media_items" db=2.4ms idle=232.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" ["👏 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:53 What changed\n02:35 What's in the box\n04:27 Design & build quality\n06:52 Slap a Linux on it\n07:52 Display & touchscreen\n09:25 The good touch\n12:33 Keyboard & touchpad\n14:57 Webcam & mic\n16:25 Performance\n18:25 Conclusion\n\nLinks\n\nhttps://guides.frame.work/Guide/Display+Replacement+on+Framework+Laptop+12/428?lang=en\n\nhttps://www.figma.com/proto/BCDFqAEpP77tfkZyvHa9Mg/Review-guides?node-id=6191-2182&p=f&t=nLcQuvmdjojURlRP-0&scaling=contain&content-scaling=fixed&page-id=6191%3A1959\nhttps://guides.frame.work/Guide/Fedora+KDE+Plasma+Desktop+Installation+on+the+Framework+Laptop+12+Intel®+Core™+Series+3/856#s4394\nhttps://frame.work/fr/en/blog/framework-laptop-12-now-with-core-series-3\nhttps://frame.work/fr/en/products/laptop12-diy-intel-series3/configuration/new\n\n#framework #linuxdesktop #linux", "Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?", "90f5650d-a572-4b73-b29a-337f64095236", "KEKiEabV7fk", 1287, false, "https://www.youtube.com/watch?v=KEKiEabV7fk", 16, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?.mp4", false, false, false, 43, [], 97, ~U[2026-10-13 15:00:09Z], ~U[2026-10-26 18:24:16Z], ~U[2026-10-26 18:24:16Z], "👏 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:53 What changed\n02:35 What's in the box\n04:27 Design & build quality\n06:52 Slap a Linux on it\n07:52 Display & touchscreen\n09:25 The good touch\n12:33 Keyboard & touchpad\n14:57 Webcam & mic\n16:25 Performance\n18:25 Conclusion\n\nLinks\n\nhttps://guides.frame.work/Guide/Display+Replacement+on+Framework+Laptop+12/428?lang=en\n\nhttps://www.figma.com/proto/BCDFqAEpP77tfkZyvHa9Mg/Review-guides?node-id=6191-2182&p=f&t=nLcQuvmdjojURlRP-0&scaling=contain&content-scaling=fixed&page-id=6191%3A1959\nhttps://guides.frame.work/Guide/Fedora+KDE+Plasma+Desktop+Installation+on+the+Framework+Laptop+12+Intel®+Core™+Series+3/856#s4394\nhttps://frame.work/fr/en/blog/framework-laptop-12-now-with-core-series-3\nhttps://frame.work/fr/en/products/laptop12-diy-intel-series3/configuration/new\n\n#framework #linuxdesktop #linux", "Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?", "KEKiEabV7fk", 1287, false, "https://www.youtube.com/watch?v=KEKiEabV7fk", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?.mp4", false, 43, ~U[2026-10-13 15:00:09Z]] 13:24:16.693 [debug] QUERY OK source="sources" db=0.2ms idle=200.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:16.693 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.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] 13:24:16.694 [debug] QUERY OK source="media_items" db=0.2ms 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 [4143209] 13:24:16.694 [debug] Current batch of media processed. Will check again in 1000ms 13:24:17.694 [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 Ubuntu releases their AI STT system as tech preview\n02:33 More performance improvements for ext4\n03:47 Firefox 159 brings some usability improvements\n05:14 Firefox releases a commercial Enterprise version\n07:04 Dev behind vibe coded Adobe suite bashes FOSS projects\n\n\nLinks:\nUbuntu releases their AI STT system as tech preview\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-release-myna-tech-preview\n\nMore performance improvements for ext4\nhttps://www.phoronix.com/news/EXT4-iomap-Buffered-IO\n\nFirefox 159 brings some usability improvements\nhttps://9to5linux.com/mozilla-firefox-159-enters-public-beta-testing-with-wayland-improvements\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software", "duration" => 562, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool.NA", "id" => "c_Q-KeF_ag4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c_Q-KeF_ag4", "playlist_index" => 17, "timestamp" => 1791884501, "title" => "Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool", "upload_date" => "20261013"} 13:24:17.695 [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 (?)) [43] 13:24:17.695 [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" = ?) [43] 13:24:17.699 [debug] QUERY OK source="media_items" db=3.9ms idle=1002.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 09:41:41Z], 43] 13:24:17.701 [debug] QUERY OK source="media_items" db=0.9ms 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\n00:05 Ubuntu releases their AI STT system as tech preview\n02:33 More performance improvements for ext4\n03:47 Firefox 159 brings some usability improvements\n05:14 Firefox releases a commercial Enterprise version\n07:04 Dev behind vibe coded Adobe suite bashes FOSS projects\n\n\nLinks:\nUbuntu releases their AI STT system as tech preview\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-release-myna-tech-preview\n\nMore performance improvements for ext4\nhttps://www.phoronix.com/news/EXT4-iomap-Buffered-IO\n\nFirefox 159 brings some usability improvements\nhttps://9to5linux.com/mozilla-firefox-159-enters-public-beta-testing-with-wayland-improvements\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software", "Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool", "0a8d055d-8769-48d5-b355-1f109a291849", "c_Q-KeF_ag4", 562, false, "https://www.youtube.com/watch?v=c_Q-KeF_ag4", 17, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool.NA", false, false, false, 43, [], 97, ~U[2026-10-13 09:41:41Z], ~U[2026-10-26 18:24:17Z], ~U[2026-10-26 18:24:17Z], "👕 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 Ubuntu releases their AI STT system as tech preview\n02:33 More performance improvements for ext4\n03:47 Firefox 159 brings some usability improvements\n05:14 Firefox releases a commercial Enterprise version\n07:04 Dev behind vibe coded Adobe suite bashes FOSS projects\n\n\nLinks:\nUbuntu releases their AI STT system as tech preview\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-release-myna-tech-preview\n\nMore performance improvements for ext4\nhttps://www.phoronix.com/news/EXT4-iomap-Buffered-IO\n\nFirefox 159 brings some usability improvements\nhttps://9to5linux.com/mozilla-firefox-159-enters-public-beta-testing-with-wayland-improvements\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software", "Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool", "c_Q-KeF_ag4", 562, false, "https://www.youtube.com/watch?v=c_Q-KeF_ag4", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool.NA", false, 43, ~U[2026-10-13 09:41:41Z]] 13:24:17.701 [debug] QUERY OK source="sources" db=0.1ms idle=206.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:17.701 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:24:17.701 [debug] QUERY OK source="media_items" db=0.1ms 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 [4141745] 13:24:17.702 [info] Kicking off download for media item #4141745 (c_Q-KeF_ag4) 13:24:17.703 [debug] Current batch of media processed. Will check again in 1000ms 13:24:18.703 [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/", "duration" => 1726, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Patroncast S06E40 - Open Source reimplementations of proprietary software.NA", "id" => "DAMo6xrRgmo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DAMo6xrRgmo", "playlist_index" => 18, "timestamp" => 1791797177, "title" => "Patroncast S06E40 - Open Source reimplementations of proprietary software", "upload_date" => "20261012"} 13:24:18.704 [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" IN (?)) [43] 13:24:18.704 [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" = ?) [43] 13:24:18.708 [debug] QUERY OK source="media_items" db=3.6ms idle=1002.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 09:26:17Z], 43] 13:24:18.709 [debug] QUERY OK source="media_items" db=0.8ms idle=1005.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/", "Patroncast S06E40 - Open Source reimplementations of proprietary software", "c4b00e2b-caeb-47b3-8d14-483e37a07b74", "DAMo6xrRgmo", 1726, false, "https://www.youtube.com/watch?v=DAMo6xrRgmo", 18, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Patroncast S06E40 - Open Source reimplementations of proprietary software.NA", false, false, false, 43, [], 97, ~U[2026-10-12 09:26:17Z], ~U[2026-10-26 18:24:18Z], ~U[2026-10-26 18:24:18Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/", "Patroncast S06E40 - Open Source reimplementations of proprietary software", "DAMo6xrRgmo", 1726, false, "https://www.youtube.com/watch?v=DAMo6xrRgmo", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Patroncast S06E40 - Open Source reimplementations of proprietary software.NA", false, 43, ~U[2026-10-12 09:26:17Z]] 13:24:18.709 [debug] QUERY OK source="sources" db=0.1ms idle=213.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:18.710 [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] 13:24:18.710 [debug] QUERY OK source="media_items" db=0.2ms 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 [4133811] 13:24:18.710 [info] Kicking off download for media item #4133811 (DAMo6xrRgmo) 13:24:18.712 [debug] Current batch of media processed. Will check again in 1000ms 13:24:19.713 [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 Torvalds builds branch for kernel using AI\n04:32 Ubuntu suffered a DDoS attack last week\n05:42 Ubuntu 26.10 adds media drivers to the AppCenter\n08:22 Valve releases CAD files for Steam Frame\n\nLinks:\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nUbuntu suffered a DDoS attack last week\nhttps://discourse.ubuntu.com/t/ddos-on-canonical-and-ubuntu-websites/89064\n\nUbuntu 26.10 adds media drivers to the AppCenter\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-app-center-add-ons-media\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/", "duration" => 603, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI.NA", "id" => "7D-HUxDUbbg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7D-HUxDUbbg", "playlist_index" => 19, "timestamp" => 1791794433, "title" => "Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI", "upload_date" => "20261012"} 13:24:19.714 [debug] QUERY OK source="sources" db=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] 13:24:19.714 [debug] QUERY OK source="sources" db=0.0ms 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] 13:24:19.718 [debug] QUERY OK source="media_items" db=3.6ms 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-10-12 08:40:33Z], 43] 13:24:19.719 [debug] QUERY OK source="media_items" db=1.1ms 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 Torvalds builds branch for kernel using AI\n04:32 Ubuntu suffered a DDoS attack last week\n05:42 Ubuntu 26.10 adds media drivers to the AppCenter\n08:22 Valve releases CAD files for Steam Frame\n\nLinks:\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nUbuntu suffered a DDoS attack last week\nhttps://discourse.ubuntu.com/t/ddos-on-canonical-and-ubuntu-websites/89064\n\nUbuntu 26.10 adds media drivers to the AppCenter\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-app-center-add-ons-media\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/", "Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI", "defe94e2-9865-4191-a835-4fbcb5fc3a55", "7D-HUxDUbbg", 603, false, "https://www.youtube.com/watch?v=7D-HUxDUbbg", 19, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI.NA", false, false, false, 43, [], 97, ~U[2026-10-12 08:40:33Z], ~U[2026-10-26 18:24:19Z], ~U[2026-10-26 18:24:19Z], "👕 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 Torvalds builds branch for kernel using AI\n04:32 Ubuntu suffered a DDoS attack last week\n05:42 Ubuntu 26.10 adds media drivers to the AppCenter\n08:22 Valve releases CAD files for Steam Frame\n\nLinks:\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nUbuntu suffered a DDoS attack last week\nhttps://discourse.ubuntu.com/t/ddos-on-canonical-and-ubuntu-websites/89064\n\nUbuntu 26.10 adds media drivers to the AppCenter\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-app-center-add-ons-media\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/", "Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI", "7D-HUxDUbbg", 603, false, "https://www.youtube.com/watch?v=7D-HUxDUbbg", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI.NA", false, 43, ~U[2026-10-12 08:40:33Z]] 13:24:19.719 [debug] QUERY OK source="sources" db=0.2ms idle=222.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:19.720 [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] 13:24:19.720 [debug] QUERY OK source="media_items" db=0.2ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4133570] 13:24:19.720 [info] Kicking off download for media item #4133570 (7D-HUxDUbbg) 13:24:19.721 [debug] Current batch of media processed. Will check again in 1000ms 13:24:20.722 [debug] Current batch of media processed. Will check again in 1000ms 13:24:21.723 [debug] Current batch of media processed. Will check again in 1000ms 13:24:21.962 [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/89/b6/89b6aeaca49cd79fa7b75b28937a98169f3476d1fa6be4386aa76a2e853b3ed3.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5c/d6/5cd6e5f854c4822bf5f68a59587c0ee2e8884a4ee6f507fac72aaf9be18e428f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:24:21.963 [debug] Gracefully stopping file follower 13:24:21.963 [debug] QUERY OK source="sources" db=0.1ms idle=505.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:24:21.963 [debug] QUERY OK source="sources" db=0.1ms idle=505.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:24:21.967 [debug] QUERY OK source="media_items" db=3.6ms idle=506.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 09:53:47Z], 43] 13:24:21.968 [debug] QUERY OK source="media_items" db=0.7ms idle=509.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 Bottles dev talks vibe cloned software, AI and other projects\n06:19 Spotify Client for GNOME\n07:49 SystemD adds Rust support for new modules\n09:31 Flathub shuts down their Forums", "Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support", "6c558925-327c-4070-8ef8-922347a1ee25", "_Vqmu1AbXyQ", 689, false, "https://www.youtube.com/watch?v=_Vqmu1AbXyQ", 1, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support.NA", false, false, false, 43, [], 97, ~U[2026-10-26 09:53:47Z], ~U[2026-10-26 18:24:21Z], ~U[2026-10-26 18:24:21Z], "👕 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 Bottles dev talks vibe cloned software, AI and other projects\n06:19 Spotify Client for GNOME\n07:49 SystemD adds Rust support for new modules\n09:31 Flathub shuts down their Forums", "Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support", "_Vqmu1AbXyQ", 689, false, "https://www.youtube.com/watch?v=_Vqmu1AbXyQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support.NA", false, 43, ~U[2026-10-26 09:53:47Z]] 13:24:21.968 [debug] QUERY OK source="sources" db=0.2ms idle=469.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:24:21.972 [debug] QUERY OK source="media_items" db=3.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-10-26 09:29:04Z], 43] 13:24:21.973 [debug] QUERY OK source="media_items" db=0.8ms 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:42 Update on the channel plans\n10:31 What's happening in France", "Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now", "7d1c0fe7-86d0-4298-9ffc-9eced235a5ba", "m1PbF6H2Y_M", 1659, false, "https://www.youtube.com/watch?v=m1PbF6H2Y_M", 2, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now.NA", false, false, false, 43, [], 97, ~U[2026-10-26 09:29:04Z], ~U[2026-10-26 18:24:21Z], ~U[2026-10-26 18:24:21Z], "👕 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 Update on the channel plans\n10:31 What's happening in France", "Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now", "m1PbF6H2Y_M", 1659, false, "https://www.youtube.com/watch?v=m1PbF6H2Y_M", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now.NA", false, 43, ~U[2026-10-26 09:29:04Z]] 13:24:21.974 [debug] QUERY OK source="sources" db=0.5ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:24:21.977 [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-10-24 08:21:12Z], 43] 13:24:21.980 [debug] QUERY OK source="media_items" db=2.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" ["Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.com/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\n#linux #linuxnews #technews \n\n\nTimestamps:\n00:00 Intro\n00:50 Sponsor: Internxt\n02:24 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n04:54 Kernel 7.3 released\n06:24 Big influx of Rust code in Kernel 7.4\n07:40 Bitwarden moves to a commercial license, mostly\n10:06 KeePassXC supports auto-type on Wayland now\n11:12 Mint shows more of their new apps\n13:01 LibreOffice is getting record download numbers\n14:49 Proposed AI assistant prototype for Ubuntu\n17:43 OpenBSD gets Wine and runs Windows games\n19:13 Cutefish desktop revived as a vibe coded MacOS Clone\n21:06 Epic Game Stores new preview looks pretty bad\n22:55 Big Tech funds study to warn against digital sovereignty\n25:18 Massive PHP flaw discovered, and patched\n27:47 Sponsor: Tuxedo Computers\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o", "Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News", "28153d09-abb0-4935-9efc-49c3a3ed8b84", "rR5HmB53C7k", 1752, false, "https://www.youtube.com/watch?v=rR5HmB53C7k", 3, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102400_Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News.mp4", false, false, false, 43, [], 98, ~U[2026-10-24 08:21:12Z], ~U[2026-10-26 18:24:21Z], ~U[2026-10-26 18:24:21Z], "Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.com/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\n#linux #linuxnews #technews \n\n\nTimestamps:\n00:00 Intro\n00:50 Sponsor: Internxt\n02:24 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n04:54 Kernel 7.3 released\n06:24 Big influx of Rust code in Kernel 7.4\n07:40 Bitwarden moves to a commercial license, mostly\n10:06 KeePassXC supports auto-type on Wayland now\n11:12 Mint shows more of their new apps\n13:01 LibreOffice is getting record download numbers\n14:49 Proposed AI assistant prototype for Ubuntu\n17:43 OpenBSD gets Wine and runs Windows games\n19:13 Cutefish desktop revived as a vibe coded MacOS Clone\n21:06 Epic Game Stores new preview looks pretty bad\n22:55 Big Tech funds study to warn against digital sovereignty\n25:18 Massive PHP flaw discovered, and patched\n27:47 Sponsor: Tuxedo Computers\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o", "Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News", "rR5HmB53C7k", 1752, false, "https://www.youtube.com/watch?v=rR5HmB53C7k", "/downloads/chris/ (truncated) 13:24:21.981 [debug] QUERY OK source="sources" db=0.4ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:24:21.984 [debug] QUERY OK source="media_items" db=3.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-10-23 09:57:38Z], 43] 13:24:21.985 [debug] QUERY OK source="media_items" db=0.8ms 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" ["👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:48 Proposed AI assistant prototype for Ubuntu\n04:31 Massive PHP flaw discovered, and patched\n06:46 Epic Game Stores new preview looks pretty bad\n09:06 Linux kernel CVEs posted publicly (likely by AI)\n11:27 Big Tech funds study to warn against digital sovereignty\n\nLinks\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nLinux kernel CVEs posted publicly (likely by AI)\nhttps://www.phoronix.com/news/LKML-New-Trend-Vulnerabilities\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/", "Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant", "937d6ca8-9ae8-407a-93d4-f9a804acc1fb", "mQDigsnENu8", 870, false, "https://www.youtube.com/watch?v=mQDigsnENu8", 4, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102300_Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant.NA", false, false, false, 43, [], 98, ~U[2026-10-23 09:57:38Z], ~U[2026-10-26 18:24:21Z], ~U[2026-10-26 18:24:21Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:48 Proposed AI assistant prototype for Ubuntu\n04:31 Massive PHP flaw discovered, and patched\n06:46 Epic Game Stores new preview looks pretty bad\n09:06 Linux kernel CVEs posted publicly (likely by AI)\n11:27 Big Tech funds study to warn against digital sovereignty\n\nLinks\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nLinux kernel CVEs posted publicly (likely by AI)\nhttps://www.phoronix.com/news/LKML-New-Trend-Vulnerabilities\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/", "Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant", "mQDigsnENu8", 870, false, "https://www.youtube.com/watch?v=mQDigsnENu8", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102300_Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant.NA", false, 43, ~U[2026-10-23 09:57:38Z]] 13:24:21.986 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [43] 13:24:21.990 [debug] QUERY OK source="media_items" db=3.4ms 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-10-22 07:04:05Z], 43] 13:24:21.991 [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 LibreOffice is getting record download numbers\n03:04 AMD proposes initial Ryzen overclocking driver\n04:34 KeePassXC supports auto-type on Wayland now\n06:18 Snapdragon X2 Linux support is apparently pretty good\n\nLinks\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nAMD proposes initial Ryzen overclocking driver\nhttps://www.phoronix.com/news/AMD-AOD-Overclocking-Linux\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nSnapdragon X2 Linux support is apparently pretty good\nhttps://www.phoronix.com/review/snapdragon-x2-linux/10", "Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better", "c4ec3150-f72f-4ea1-8480-c85587d31ee2", "gy_lktvgtwk", 541, false, "https://www.youtube.com/watch?v=gy_lktvgtwk", 5, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102200_Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better.NA", false, false, false, 43, [], 98, ~U[2026-10-22 07:04:05Z], ~U[2026-10-26 18:24:21Z], ~U[2026-10-26 18:24:21Z], "👕 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 LibreOffice is getting record download numbers\n03:04 AMD proposes initial Ryzen overclocking driver\n04:34 KeePassXC supports auto-type on Wayland now\n06:18 Snapdragon X2 Linux support is apparently pretty good\n\nLinks\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nAMD proposes initial Ryzen overclocking driver\nhttps://www.phoronix.com/news/AMD-AOD-Overclocking-Linux\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nSnapdragon X2 Linux support is apparently pretty good\nhttps://www.phoronix.com/review/snapdragon-x2-linux/10", "Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better", "gy_lktvgtwk", 541, false, "https://www.youtube.com/watch?v=gy_lktvgtwk", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102200_Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better.NA", false, 43, ~U[2026-10-22 07:04:05Z]] 13:24:21.991 [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] 13:24:21.995 [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-10-21 08:46:58Z], 43] 13:24:21.996 [debug] QUERY OK source="media_items" db=0.7ms 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" ["👕 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 Big influx of Rust code in Kernel 7.4\n02:20 OpenBSD gets Wine and runs Windows games\n04:37 New filesystem designed for satellites proposed for the kernel\n\nLinks\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nNew filesystem designed for satellites proposed for the kernel\nhttps://linuxiac.com/beamfs-filesystem-proposed-for-inclusion-in-the-linux-kernel/", "Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games", "663c6311-48c8-4c34-9461-83b05d4467e4", "l1f2cr9J5FY", 429, false, "https://www.youtube.com/watch?v=l1f2cr9J5FY", 6, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102100_Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games.NA", false, false, false, 43, [], 98, ~U[2026-10-21 08:46:58Z], ~U[2026-10-26 18:24:21Z], ~U[2026-10-26 18:24:21Z], "👕 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 Big influx of Rust code in Kernel 7.4\n02:20 OpenBSD gets Wine and runs Windows games\n04:37 New filesystem designed for satellites proposed for the kernel\n\nLinks\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nNew filesystem designed for satellites proposed for the kernel\nhttps://linuxiac.com/beamfs-filesystem-proposed-for-inclusion-in-the-linux-kernel/", "Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games", "l1f2cr9J5FY", 429, false, "https://www.youtube.com/watch?v=l1f2cr9J5FY", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102100_Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games.NA", false, 43, ~U[2026-10-21 08:46:58Z]] 13:24:21.997 [debug] QUERY OK source="sources" db=0.4ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:24:22.000 [debug] QUERY OK source="media_items" db=3.3ms 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-10-20 07:43:57Z], 43] 13:24:22.001 [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 Torvald's AI generated code is rreworked for better performance\n02:39 Cutefish desktop revived as a vibe coded MacOS Clone\n07:33 Bitwarden moves to a commercial license, mostly\n\nLinks\nTorvald's AI generated code is rreworked for better performance\nhttps://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750", "Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence", "c3621f2b-a84d-4bfb-bfbe-3cca6631c903", "qBNYnMDXcFI", 695, false, "https://www.youtube.com/watch?v=qBNYnMDXcFI", 7, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102000_Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence.NA", false, false, false, 43, [], 98, ~U[2026-10-20 07:43:57Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "👕 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 Torvald's AI generated code is rreworked for better performance\n02:39 Cutefish desktop revived as a vibe coded MacOS Clone\n07:33 Bitwarden moves to a commercial license, mostly\n\nLinks\nTorvald's AI generated code is rreworked for better performance\nhttps://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750", "Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence", "qBNYnMDXcFI", 695, false, "https://www.youtube.com/watch?v=qBNYnMDXcFI", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102000_Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence.NA", false, 43, ~U[2026-10-20 07:43:57Z]] 13:24:22.002 [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] 13:24:22.005 [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-10-19 09:07:19Z], 43] 13:24:22.006 [debug] QUERY OK source="media_items" db=0.8ms 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\n00:05 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n03:37 Kernel 7.3 released\n05:27 GNOME OS has a preview\n08:21 Mint shows more of their new apps\n10:36 Meta's TOS say all business content is fair use for AI training\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nGNOME OS has a preview\nhttps://blogs.gnome.org/adrianvovk/2026/10/16/gnome-os-preview/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nMeta's TOS say all business content is fair use for AI training\nhttps://arstechnica.com/tech-policy/2026/10/meta-may-use-sweeping-new-commercial-tos-to-avoid-millions-in-ai-licensing-fees/", "Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3", "6e321fbf-d843-4918-a8f3-d6bc5f4236a6", "QSqdUxnMopg", 813, false, "https://www.youtube.com/watch?v=QSqdUxnMopg", 8, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3.NA", false, false, false, 43, [], 97, ~U[2026-10-19 09:07:19Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "👕 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 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n03:37 Kernel 7.3 released\n05:27 GNOME OS has a preview\n08:21 Mint shows more of their new apps\n10:36 Meta's TOS say all business content is fair use for AI training\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nGNOME OS has a preview\nhttps://blogs.gnome.org/adrianvovk/2026/10/16/gnome-os-preview/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nMeta's TOS say all business content is fair use for AI training\nhttps://arstechnica.com/tech-policy/2026/10/meta-may-use-sweeping-new-commercial-tos-to-avoid-millions-in-ai-licensing-fees/", "Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3", "QSqdUxnMopg", 813, false, "https://www.youtube.com/watch?v=QSqdUxnMopg", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3.NA", false, 43, ~U[2026-10-19 09:07:19Z]] 13:24:22.007 [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] 13:24:22.010 [debug] QUERY OK source="media_items" db=3.2ms 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-10-19 07:07:25Z], 43] 13:24:22.011 [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\n00:44 My 20 years with KDE\n14:45 Will A.I. make Linux fragmentation worse?", "Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?", "1af00953-8913-441d-9158-c13d43e055dc", "SWg3_hfAEUg", 1586, false, "https://www.youtube.com/watch?v=SWg3_hfAEUg", 9, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?.NA", false, false, false, 43, [], 97, ~U[2026-10-19 07:07:25Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:44 My 20 years with KDE\n14:45 Will A.I. make Linux fragmentation worse?", "Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?", "SWg3_hfAEUg", 1586, false, "https://www.youtube.com/watch?v=SWg3_hfAEUg", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?.NA", false, 43, ~U[2026-10-19 07:07:25Z]] 13:24:22.012 [debug] QUERY OK source="sources" db=0.4ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:24:22.015 [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-10-17 08:25:38Z], 43] 13:24:22.017 [debug] QUERY OK source="media_items" db=1.5ms 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 a Hostinger VPS for self-hosting, home lab projects, automations, running Docker containers, and hosting your own services! Use code LINUXEXPERIMENT for a special deal: https://hostinger.com/linuxexperiment\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:49 Sponsor: Hostinger\n02:02 GNOME OS released in Preview\n06:03 Epic Games Store has a Linux client, EAC will support Linux too\n10:01 Torvalds builds branch for kernel using AI\n13:42 Kernel devs ponder removing mandatory AI use disclosure\n15:32 KDE Plasma 6.8 is released\n17:13 Ubuntu 26.10 released\n19:16 Mint 27 looks like a big release\n21:27 Steam Client is finally moving to 64bit\n22:27 Netherlands backs away from MS365 rollout\n24:16 Dev behind vibe coded Adobe suite bashes FOSS projects\n25:57 Framework triples their funding for CachyOS\n27:11 Firefox releases a commercial Enterprise version\n28:57 New EuroOffice fork that looks like MS Office\n30:54 Valve releases CAD files for Steam Frame\n32:32 Sponsor: Tuxedo Computers\n\nLinks:\n\nGNOME OS released in Preview\nhttps://os.gnome.org/\n\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/\n\n#linux #linuxnews #technews", "GNOME OS Preview, Epic supports Linux, Linux kernel set to go all in on AI - Linux Weekly News", "840b3e2c-1ea4-4ea2-816e-29c3a2a400ab", "jsfxngunmbs", 2040, false, "https://www.youtube.com/watch?v=jsfxngunmbs", 10, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101700_GNOME OS Preview, Epic supports Linux, Linux kernel set to go all in on AI - Linux Weekly News.mp4", false, false, false, 43, [], 98, ~U[2026-10-17 08:25:38Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "Get a Hostinger VPS for self-hosting, home lab projects, automations, running Docker containers, and hosting your own services! Use code LINUXEXPERIMENT for a special deal: https://hostinger.com/linuxexperiment\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:49 Sponsor: Hostinger\n02:02 GNOME OS released in Preview\n06:03 Epic Games Store has a Linux client, EAC will support Linux too\n10:01 Torvalds builds branch for kernel using AI\n13:42 Kernel devs ponder removing mandatory AI use disclosure\n15:32 KDE Plasma 6.8 is released\n17:13 Ubuntu 26.10 released\n19:16 Mint 27 looks like a big release\n21:27 Steam Client is finally moving to 64bit\n22:27 Netherlands backs away from MS365 rollout\n24:16 Dev behind vibe coded Adobe suite bashes FOSS projects\n25:57 Framework triples their funding for CachyOS\n27:11 Firefox releases a commercial Enterprise version\n28:57 New EuroOffice fork that looks like MS Office\n30:54 Valve releases CAD files for Steam Frame\n32:32 Sponsor: Tuxedo Computers\n\nLinks:\n\nGNOME OS released in Preview\nhttps://os.gnome.org/\n\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-r (truncated) 13:24:22.018 [debug] QUERY OK source="sources" db=0.4ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:24:22.021 [debug] QUERY OK source="media_items" db=3.2ms 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-10-16 07:03:54Z], 43] 13:24:22.022 [debug] QUERY OK source="media_items" db=0.7ms idle=9.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 Ubuntu 26.10 released\n03:10 AUR still getting more malware\n04:53 Easy Anti Cheat v2 is apparently easy to bypass\n07:04 Steam Client is finally moving to 64bit\n\nLinks\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nAUR still getting more malware\nhttps://www.bleepingcomputer.com/news/security/fake-arch-linux-packages-push-malware-with-root-privileges/\n\nEasy Anti Cheat v2 is apparently easy to bypass\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403", "Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues", "cc21d398-852b-4644-b044-2428d4159cf4", "n4Pi_dhVyiE", 523, false, "https://www.youtube.com/watch?v=n4Pi_dhVyiE", 11, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101600_Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues.NA", false, false, false, 43, [], 98, ~U[2026-10-16 07:03:54Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "👕 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 Ubuntu 26.10 released\n03:10 AUR still getting more malware\n04:53 Easy Anti Cheat v2 is apparently easy to bypass\n07:04 Steam Client is finally moving to 64bit\n\nLinks\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nAUR still getting more malware\nhttps://www.bleepingcomputer.com/news/security/fake-arch-linux-packages-push-malware-with-root-privileges/\n\nEasy Anti Cheat v2 is apparently easy to bypass\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403", "Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues", "n4Pi_dhVyiE", 523, false, "https://www.youtube.com/watch?v=n4Pi_dhVyiE", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101600_Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues.NA", false, 43, ~U[2026-10-16 07:03:54Z]] 13:24:22.023 [debug] QUERY OK source="sources" db=0.4ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:24:22.026 [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-10-15 11:38:43Z], 43] 13:24:22.027 [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" ["Grab 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\n01:10 Internals and hardware support\n02:40 Desktop changes\n07:42 Ai speech to text\n09:52 App center changes\n11:38 Installer changes\n13:15 Rustification\n14:32 Gnome 51 changes\n20:32 Conclusion\n21:53 Sponsor: Tuxedo Computers\n\n#ubuntu #linux #linuxdesktop", "Ubuntu 26.10 copies Windows tiling and rustifies itself", "f7fe5668-75bd-42b8-ba4b-4e53364fe114", "4O_OU0OZn3Q", 1421, false, "https://www.youtube.com/watch?v=4O_OU0OZn3Q", 12, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Ubuntu 26.10 copies Windows tiling and rustifies itself.mp4", false, false, false, 43, [], 97, ~U[2026-10-15 11:38:43Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "Grab 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\n01:10 Internals and hardware support\n02:40 Desktop changes\n07:42 Ai speech to text\n09:52 App center changes\n11:38 Installer changes\n13:15 Rustification\n14:32 Gnome 51 changes\n20:32 Conclusion\n21:53 Sponsor: Tuxedo Computers\n\n#ubuntu #linux #linuxdesktop", "Ubuntu 26.10 copies Windows tiling and rustifies itself", "4O_OU0OZn3Q", 1421, false, "https://www.youtube.com/watch?v=4O_OU0OZn3Q", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Ubuntu 26.10 copies Windows tiling and rustifies itself.mp4", false, 43, ~U[2026-10-15 11:38:43Z]] 13:24:22.028 [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] 13:24:22.032 [debug] QUERY OK source="media_items" db=3.5ms 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-10-15 09:48:31Z], 43] 13:24:22.033 [debug] QUERY OK source="media_items" db=0.9ms 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 Epic Games Store has a Linux client, EAC will support Linux too\n04:32 KDE Plasma 6.8 is released\n06:22 New EuroOffice fork that looks like MS Office\n08:40 Framework triples their funding for CachyOS\n09:42 Netherlands backs away from MS365 rollout\n\nLinks\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/", "Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone", "324cab38-6768-4995-8b5d-cafa9e461da6", "zHudaeEcGu4", 722, false, "https://www.youtube.com/watch?v=zHudaeEcGu4", 13, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone.NA", false, false, false, 43, [], 97, ~U[2026-10-15 09:48:31Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "👕 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 Epic Games Store has a Linux client, EAC will support Linux too\n04:32 KDE Plasma 6.8 is released\n06:22 New EuroOffice fork that looks like MS Office\n08:40 Framework triples their funding for CachyOS\n09:42 Netherlands backs away from MS365 rollout\n\nLinks\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/", "Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone", "zHudaeEcGu4", 722, false, "https://www.youtube.com/watch?v=zHudaeEcGu4", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone.NA", false, 43, ~U[2026-10-15 09:48:31Z]] 13:24:22.034 [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] 13:24:22.037 [debug] QUERY OK source="media_items" db=3.6ms 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-10-14 09:22:33Z], 43] 13:24:22.039 [debug] QUERY OK source="media_items" db=0.9ms 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" ["Grab 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\n01:32 Wayland-only\n02:59 Kde theming\n09:33 Plasma-desktop\n12:42 Window management\n15:09 Performance improvements & wayland\n17:28 Misc. changes to the desktop\n18:27 Settings\n20:58 Application changes\n25:13 Conclusion\n27:55 Sponsor: Tuxedo Computers\n\n#kdeplasma #linux #linuxdesktop", "KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!", "88e40ca8-06b4-40d6-b22a-07f31b77e1dc", "McUdRVblhvE", 1769, false, "https://www.youtube.com/watch?v=McUdRVblhvE", 14, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!.mp4", false, false, false, 43, [], 97, ~U[2026-10-14 09:22:33Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "Grab 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\n01:32 Wayland-only\n02:59 Kde theming\n09:33 Plasma-desktop\n12:42 Window management\n15:09 Performance improvements & wayland\n17:28 Misc. changes to the desktop\n18:27 Settings\n20:58 Application changes\n25:13 Conclusion\n27:55 Sponsor: Tuxedo Computers\n\n#kdeplasma #linux #linuxdesktop", "KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!", "McUdRVblhvE", 1769, false, "https://www.youtube.com/watch?v=McUdRVblhvE", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!.mp4", false, 43, ~U[2026-10-14 09:22:33Z]] 13:24:22.039 [debug] QUERY OK source="sources" db=0.6ms 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] 13:24:22.043 [debug] QUERY OK source="media_items" db=3.3ms 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-10-14 08:02:00Z], 43] 13:24:22.044 [debug] QUERY OK source="media_items" db=0.9ms 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:05 Mint 27 looks like a big release\n02:52 Kernel devs ponder removing mandatory AI use disclosure\n04:10 OnlyOffice 10 gives more permissions to AI\n06:36 New distro brings back convergence between phone and PC\n\nLinks:\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nOnlyOffice 10 gives more permissions to AI\nhttps://www.omgubuntu.co.uk/2026/10/onlyoffice-10-expands-ai-tools\n\nNew distro brings back convergence between phone and PC\nhttps://simplyluma.com/", "Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive", "7f36afa1-510b-4d3a-8dfd-a61dfd0949fd", "9l5gMFbbeFQ", 621, false, "https://www.youtube.com/watch?v=9l5gMFbbeFQ", 15, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive.NA", false, false, false, 43, [], 97, ~U[2026-10-14 08:02:00Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "👕 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 Mint 27 looks like a big release\n02:52 Kernel devs ponder removing mandatory AI use disclosure\n04:10 OnlyOffice 10 gives more permissions to AI\n06:36 New distro brings back convergence between phone and PC\n\nLinks:\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nOnlyOffice 10 gives more permissions to AI\nhttps://www.omgubuntu.co.uk/2026/10/onlyoffice-10-expands-ai-tools\n\nNew distro brings back convergence between phone and PC\nhttps://simplyluma.com/", "Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive", "9l5gMFbbeFQ", 621, false, "https://www.youtube.com/watch?v=9l5gMFbbeFQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive.NA", false, 43, ~U[2026-10-14 08:02:00Z]] 13:24:22.045 [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] 13:24:22.048 [debug] QUERY OK source="media_items" db=3.2ms 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-10-13 15:00:09Z], 43] 13:24:22.050 [debug] QUERY OK source="media_items" db=1.0ms 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" ["👏 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:53 What changed\n02:35 What's in the box\n04:27 Design & build quality\n06:52 Slap a Linux on it\n07:52 Display & touchscreen\n09:25 The good touch\n12:33 Keyboard & touchpad\n14:57 Webcam & mic\n16:25 Performance\n18:25 Conclusion\n\nLinks\n\nhttps://guides.frame.work/Guide/Display+Replacement+on+Framework+Laptop+12/428?lang=en\n\nhttps://www.figma.com/proto/BCDFqAEpP77tfkZyvHa9Mg/Review-guides?node-id=6191-2182&p=f&t=nLcQuvmdjojURlRP-0&scaling=contain&content-scaling=fixed&page-id=6191%3A1959\nhttps://guides.frame.work/Guide/Fedora+KDE+Plasma+Desktop+Installation+on+the+Framework+Laptop+12+Intel®+Core™+Series+3/856#s4394\nhttps://frame.work/fr/en/blog/framework-laptop-12-now-with-core-series-3\nhttps://frame.work/fr/en/products/laptop12-diy-intel-series3/configuration/new\n\n#framework #linuxdesktop #linux", "Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?", "78cccf42-ef2a-43bd-86d9-c672a9db28ae", "KEKiEabV7fk", 1287, false, "https://www.youtube.com/watch?v=KEKiEabV7fk", 16, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?.mp4", false, false, false, 43, [], 97, ~U[2026-10-13 15:00:09Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "👏 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:53 What changed\n02:35 What's in the box\n04:27 Design & build quality\n06:52 Slap a Linux on it\n07:52 Display & touchscreen\n09:25 The good touch\n12:33 Keyboard & touchpad\n14:57 Webcam & mic\n16:25 Performance\n18:25 Conclusion\n\nLinks\n\nhttps://guides.frame.work/Guide/Display+Replacement+on+Framework+Laptop+12/428?lang=en\n\nhttps://www.figma.com/proto/BCDFqAEpP77tfkZyvHa9Mg/Review-guides?node-id=6191-2182&p=f&t=nLcQuvmdjojURlRP-0&scaling=contain&content-scaling=fixed&page-id=6191%3A1959\nhttps://guides.frame.work/Guide/Fedora+KDE+Plasma+Desktop+Installation+on+the+Framework+Laptop+12+Intel®+Core™+Series+3/856#s4394\nhttps://frame.work/fr/en/blog/framework-laptop-12-now-with-core-series-3\nhttps://frame.work/fr/en/products/laptop12-diy-intel-series3/configuration/new\n\n#framework #linuxdesktop #linux", "Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?", "KEKiEabV7fk", 1287, false, "https://www.youtube.com/watch?v=KEKiEabV7fk", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?.mp4", false, 43, ~U[2026-10-13 15:00:09Z]] 13:24:22.050 [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] 13:24:22.054 [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-10-13 09:41:41Z], 43] 13:24:22.055 [debug] QUERY OK source="media_items" db=0.9ms 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" ["👕 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 Ubuntu releases their AI STT system as tech preview\n02:33 More performance improvements for ext4\n03:47 Firefox 159 brings some usability improvements\n05:14 Firefox releases a commercial Enterprise version\n07:04 Dev behind vibe coded Adobe suite bashes FOSS projects\n\n\nLinks:\nUbuntu releases their AI STT system as tech preview\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-release-myna-tech-preview\n\nMore performance improvements for ext4\nhttps://www.phoronix.com/news/EXT4-iomap-Buffered-IO\n\nFirefox 159 brings some usability improvements\nhttps://9to5linux.com/mozilla-firefox-159-enters-public-beta-testing-with-wayland-improvements\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software", "Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool", "fb189e31-b78a-46e0-a7f2-72995cc9d9ef", "c_Q-KeF_ag4", 562, false, "https://www.youtube.com/watch?v=c_Q-KeF_ag4", 17, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool.NA", false, false, false, 43, [], 97, ~U[2026-10-13 09:41:41Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "👕 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 Ubuntu releases their AI STT system as tech preview\n02:33 More performance improvements for ext4\n03:47 Firefox 159 brings some usability improvements\n05:14 Firefox releases a commercial Enterprise version\n07:04 Dev behind vibe coded Adobe suite bashes FOSS projects\n\n\nLinks:\nUbuntu releases their AI STT system as tech preview\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-release-myna-tech-preview\n\nMore performance improvements for ext4\nhttps://www.phoronix.com/news/EXT4-iomap-Buffered-IO\n\nFirefox 159 brings some usability improvements\nhttps://9to5linux.com/mozilla-firefox-159-enters-public-beta-testing-with-wayland-improvements\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software", "Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool", "c_Q-KeF_ag4", 562, false, "https://www.youtube.com/watch?v=c_Q-KeF_ag4", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool.NA", false, 43, ~U[2026-10-13 09:41:41Z]] 13:24:22.056 [debug] QUERY OK source="sources" db=0.4ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:24:22.059 [debug] QUERY OK source="media_items" db=3.2ms 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-10-12 09:26:17Z], 43] 13:24:22.060 [debug] QUERY OK source="media_items" db=0.5ms 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/", "Patroncast S06E40 - Open Source reimplementations of proprietary software", "deb09d30-0c2a-465e-a174-553e70467c26", "DAMo6xrRgmo", 1726, false, "https://www.youtube.com/watch?v=DAMo6xrRgmo", 18, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Patroncast S06E40 - Open Source reimplementations of proprietary software.NA", false, false, false, 43, [], 97, ~U[2026-10-12 09:26:17Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/", "Patroncast S06E40 - Open Source reimplementations of proprietary software", "DAMo6xrRgmo", 1726, false, "https://www.youtube.com/watch?v=DAMo6xrRgmo", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Patroncast S06E40 - Open Source reimplementations of proprietary software.NA", false, 43, ~U[2026-10-12 09:26:17Z]] 13:24:22.060 [debug] QUERY OK source="sources" db=0.4ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:24:22.064 [debug] QUERY OK source="media_items" db=3.1ms idle=5.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 08:40:33Z], 43] 13:24:22.067 [debug] QUERY OK source="media_items" db=2.6ms idle=8.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 Torvalds builds branch for kernel using AI\n04:32 Ubuntu suffered a DDoS attack last week\n05:42 Ubuntu 26.10 adds media drivers to the AppCenter\n08:22 Valve releases CAD files for Steam Frame\n\nLinks:\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nUbuntu suffered a DDoS attack last week\nhttps://discourse.ubuntu.com/t/ddos-on-canonical-and-ubuntu-websites/89064\n\nUbuntu 26.10 adds media drivers to the AppCenter\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-app-center-add-ons-media\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/", "Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI", "524f476c-8cdd-4b94-8dd8-e5c98ea9cd3c", "7D-HUxDUbbg", 603, false, "https://www.youtube.com/watch?v=7D-HUxDUbbg", 19, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI.NA", false, false, false, 43, [], 97, ~U[2026-10-12 08:40:33Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "👕 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 Torvalds builds branch for kernel using AI\n04:32 Ubuntu suffered a DDoS attack last week\n05:42 Ubuntu 26.10 adds media drivers to the AppCenter\n08:22 Valve releases CAD files for Steam Frame\n\nLinks:\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nUbuntu suffered a DDoS attack last week\nhttps://discourse.ubuntu.com/t/ddos-on-canonical-and-ubuntu-websites/89064\n\nUbuntu 26.10 adds media drivers to the AppCenter\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-app-center-add-ons-media\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/", "Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI", "7D-HUxDUbbg", 603, false, "https://www.youtube.com/watch?v=7D-HUxDUbbg", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI.NA", false, 43, ~U[2026-10-12 08:40:33Z]] 13:24:22.067 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [43] 13:24:22.071 [debug] QUERY OK source="media_items" db=3.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-10-10 07:28:15Z], 43] 13:24:22.073 [debug] QUERY OK source="media_items" db=2.1ms 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" ["Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.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:38 Sponsor: Internxt\n02:12 Entire Adobe Suite supported with custom Wine now\n03:53 Open source implementations of the entire Adobe Suite\n07:35 Flathub now accepts apps that used AI, with disclosure\n10:18 Cosmic will reject LLM generated submissions\n11:35 Steam Frame now has 200 verified games\n13:03 More Kernel and AMD performance improvements\n15:43 Digital Ocean stops hosting credits for FOSS as they donate to Omacom\n17:50 Gentoo asking for help for hosting after sponsors dried up\n19:14 Orion stops development of its Linux browser\n20:45 EU Commission doesn't seem pleased with their Teams replacement\n22:31 Googlebooks don't look like they'll help Linux much\n24:23 Mesa looking at a more formal governance model\n26:53 Sponsor: Tuxedo Computers\n\nLinks\nEntire Adobe Suite supported with custom Wine now\nhttps://neutronproject.org/\n\nOpen source clean room implementations of the entire Adobe Suite\nhttps://github.com/storytold/photocraft\n\nFlathub now accepts apps that used AI, with disclosure\nhttps://linuxiac.com/flathub-reverses-ai-generated-app-ban-now-requires-disclosure/\n\nCosmic will reject LLM generated submissions\nhttps://linuxiac.com/cosmic-stops-accepting-llm-generated-content-in-pull-requests/\nhttps://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\n\nSteam Frame now has 200 verified games\nhttps://store.steampowered.com/greatonframe?tab=1\nhttps://www.gamingonlinux.com/2026/10/theres-now-over-200-steam-frame-verified-games/\n\nMore Kernel and AMD performance improvements\nhttps://www.phoronix.com/news/Linux-Better-Zswap-Performance\nhttps://www.phoronix.com/news/Boost-Recently-Busy-CPUs\n\nDigital Ocean stops hosting credits for FOSS as they donate to Omacom\nhttps://itsfoss.com/news/digitalocean-open-source-credits-end/\n\nGentoo asking for help for hosting after sponsors dried up\nhttps://itsfoss.com/news/gentoo-infrastructure-sponsors-call/\n\nOrion stops development of its Linux browser\nhttps://blog.kagi.com/update-orion-linux-windows\n\nEU Commission doesn't seem pleased with their Teams replacement\nhttps://www.politico.eu/article/eu-microsoft-teams-alternative-bad-reviews-element-pro/\n\nGooglebooks don't look like they'll help Linux much\nhttps://www.androidauthority.com/linux-apps-on-googlebook-3719936/\n\nMesa looking at a more formal governance model\nhttps://www.phoronix.com/news/Mesa-Governance-Model\n\n#linuxnews #linuxdesktop #linux", "Adobe suite on Linux (twice), Flathub says yes to AI - Linux Weekly News", "b7d9eed6-85dd-4ab0-8e2d-55ea1f12fd4d", "eAeT63x338Y", 1710, false, "https://www.youtube.com/watch?v=eAeT63x338Y", 20, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101000_Adobe suite on Linux (twice), Flathub says yes to AI - Linux Weekly News.mp4", false, false, false, 43, [], 98, ~U[2026-10-10 07:28:15Z], ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], "Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.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:38 Sponsor: Internxt\n02:12 Entire Adobe Suite supported with custom Wine now\n03:53 Open source implementations of the entire Adobe Suite\n07:35 Flathub now accepts apps that used AI, with disclosure\n10:18 Cosmic will reject LLM generated submissions\n11:35 Steam Frame now has 200 verified games\n13:03 More Kernel and AMD performance improvements\n15:43 Digital Ocean stops hosting credits for FOSS as they donate to Omacom\n17:50 Gentoo asking for help for hosting after sponsors dried up\n19:14 Orion stops development of its Linux browser\n20:45 EU Commission doesn't seem pleased with their Teams replacement\n22:31 Googlebooks don't look like they'll help Linux much\n24:23 Mesa looking at a more formal governance model\n26:53 Sponsor: Tuxedo Computers\n\nLinks\nEntire Adobe Suite supported with custom Wine now\nhttps://neutronproject.org/\n\nOpen source clean room implementations of the entire Adobe Suite\nhttps://github.com/storytold/photocraft\n\nFlathub now accepts apps that used AI, with disclosure\nhttps://linuxiac.com/flathub-reverses-ai-generated-app-ban-now-requires-disclosure/\n\nCosmic will reject LLM generated submissions\nhttps://linuxiac.com/cosmic-stops-accepting-llm-generated-content-in-pull-requests/\nhttps://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\n\nSteam Frame now has 200 verified games\nhttps://store.steampowered.com/greatonframe?tab=1\nhttps://www.gamingonlinux.com/2026/10/theres-now-over-200-steam-frame-verified-games/\n\nMore Kernel and AMD performance improvements\nhttps://www.phoronix.com/news/Linux-Better-Zswap-Performance\nhttps://www.phoronix.com/news/Boost-Recently-Busy-CPUs\n\nDigital Ocean stops hosting credits for FOSS as they donate to Omacom\nhttps://itsfoss.com/news/digitalocean-open-source-credits-end/\n\nGentoo asking for help for hosting after sponsors dried up\nhttps://itsfoss.com/news/gentoo-infrastructure-sponsors-call/\n\nOrion stops development of its Linux browser\nhttps://blog.kagi.com/update-orion-linux-windows\n\nEU Commission doesn't seem pleased with their Teams replacement\nhttps://www.politico.eu/article/eu-microsoft-teams-alternative-bad-reviews-element-pro/\n\nGooglebooks don't look like they'll help Linux much\nhttps://www.androidauthority.com/linux-apps-on-googlebook-3719936/\n\nMesa looking at a more formal governance model\nhttps://www.phoronix.com/news/Mesa-Governance-Model\n\n#linuxnews #linuxdesktop #linux", "Adobe suite on Linux (twice), Flathub says yes to AI - Linux Weekly News", "eAeT63x338Y", 1710, false, "https://www.youtube.com/watch?v=eAeT63x338Y", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101000_Adobe suite on Linux (twice), Flathub says yes to AI - Linux Weekly News.mp4", false, 43, ~U[2026-10-10 07:28:15Z]] 13:24:22.074 [debug] QUERY OK source="sources" db=0.4ms idle=9.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z], 43] 13:24:22.080 [debug] QUERY OK source="media_items" db=5.2ms 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")))) [43] 13:24:22.401 [debug] QUERY OK source="media_items" db=1.1ms idle=2.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")))) [43] 13:24:22.401 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [43] 13:24:22.402 [debug] QUERY OK source="tasks" db=0.2ms idle=2.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541516, 43, ~U[2026-10-26 18:24:22Z], ~U[2026-10-26 18:24:22Z]] 13:24:22.403 [info] {"args":{"id":43},"id":541413,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":36940331,"event":"job:stop","queue_time":590926,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:24:29.552 [info] {"source":"oban","duration":11706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:24:41.055 [info] GET /sources/30/media/3943638/edit 13:24:41.055 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3943638", "source_id" => "30"} Pipelines: [:browser] 13:24:41.056 [debug] QUERY OK source="media_items" db=0.2ms idle=1598.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" = ?) [3943638] 13:24:41.056 [debug] QUERY OK source="settings" db=0.0ms idle=1598.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.056 [debug] QUERY OK source="settings" db=0.0ms idle=1599.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.057 [debug] QUERY OK source="settings" db=0.0ms idle=1529.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.058 [info] Sent 200 in 2ms 13:24:41.100 [info] GET /sources/43/media/4244204/edit 13:24:41.100 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4244204", "source_id" => "43"} Pipelines: [:browser] 13:24:41.101 [debug] QUERY OK source="media_items" db=0.2ms idle=572.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" = ?) [4244204] 13:24:41.101 [debug] QUERY OK source="settings" db=0.1ms idle=45.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.102 [debug] QUERY OK source="settings" db=0.0ms idle=45.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.102 [debug] QUERY OK source="settings" db=0.0ms idle=45.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.103 [info] Sent 200 in 2ms 13:24:41.327 [info] GET /sources/30/media/3997538 13:24:41.327 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3997538", "source_id" => "30"} Pipelines: [:browser] 13:24:41.327 [debug] QUERY OK source="media_items" db=0.1ms idle=270.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3997538] 13:24:41.328 [debug] QUERY OK source="tasks" db=0.1ms idle=226.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" [3997538] 13:24:41.328 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [30] 13:24:41.328 [debug] QUERY OK source="settings" db=0.0ms idle=226.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.328 [debug] QUERY OK source="settings" db=0.1ms idle=226.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.329 [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 [] 13:24:41.329 [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] 13:24:41.331 [info] Sent 200 in 4ms 13:24:41.553 [info] GET /sources/30/media/3997538/edit 13:24:41.554 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3997538", "source_id" => "30"} Pipelines: [:browser] 13:24:41.554 [debug] QUERY OK source="media_items" db=0.3ms 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" = ?) [3997538] 13:24:41.555 [debug] QUERY OK source="settings" db=0.1ms idle=226.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.555 [debug] QUERY OK source="settings" db=0.0ms idle=226.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.556 [debug] QUERY OK source="settings" db=0.1ms idle=226.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.556 [info] Sent 200 in 2ms 13:24:41.778 [info] GET /sources/30/media/4175011 13:24:41.778 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4175011", "source_id" => "30"} Pipelines: [:browser] 13:24:41.779 [debug] QUERY OK source="media_items" db=0.2ms idle=249.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" = ?) [4175011] 13:24:41.780 [debug] QUERY OK source="sources" db=0.2ms idle=224.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:41.781 [debug] QUERY OK source="tasks" db=1.5ms 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" [4175011] 13:24:41.782 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=225.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 (?,?)) [524630, 527249] 13:24:41.782 [debug] QUERY OK source="settings" db=0.1ms idle=226.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.782 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.783 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:41.783 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:24:41.785 [info] Sent 200 in 7ms 13:24:42.003 [info] GET /sources/35/media/3903107 13:24:42.003 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3903107", "source_id" => "35"} Pipelines: [:browser] 13:24:42.004 [debug] QUERY OK source="media_items" db=0.1ms idle=221.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" = ?) [3903107] 13:24:42.004 [debug] QUERY OK source="sources" db=0.1ms idle=221.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:42.005 [debug] QUERY OK source="tasks" db=0.7ms idle=221.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" [3903107] 13:24:42.005 [debug] QUERY OK source="settings" db=0.1ms idle=222.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.005 [debug] QUERY OK source="settings" db=0.0ms idle=221.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.005 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.006 [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] 13:24:42.007 [info] Sent 200 in 3ms 13:24:42.229 [info] GET /sources/43/media/4149493 13:24:42.230 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4149493", "source_id" => "43"} Pipelines: [:browser] 13:24:42.230 [debug] QUERY OK source="media_items" db=0.1ms idle=225.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" = ?) [4149493] 13:24:42.230 [debug] QUERY OK source="sources" db=0.1ms idle=225.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:42.231 [debug] QUERY OK source="tasks" db=0.7ms idle=225.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" [4149493] 13:24:42.231 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=225.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 (?,?)) [518954, 522302] 13:24:42.232 [debug] QUERY OK source="settings" db=0.0ms idle=225.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.232 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.232 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.233 [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] 13:24:42.234 [info] Sent 200 in 4ms 13:24:42.411 [info] GET /sources/35/media/3903107/edit 13:24:42.411 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3903107", "source_id" => "35"} Pipelines: [:browser] 13:24:42.412 [debug] QUERY OK source="media_items" db=0.2ms idle=180.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" = ?) [3903107] 13:24:42.412 [debug] QUERY OK source="settings" db=0.1ms idle=180.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.413 [debug] QUERY OK source="settings" db=0.0ms idle=180.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.413 [debug] QUERY OK source="settings" db=0.1ms idle=180.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.414 [info] Sent 200 in 2ms 13:24:42.591 [info] GET /sources/43/media/4149493/edit 13:24:42.591 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4149493", "source_id" => "43"} Pipelines: [:browser] 13:24:42.592 [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" = ?) [4149493] 13:24:42.592 [debug] QUERY OK source="settings" db=0.1ms idle=179.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.592 [debug] QUERY OK source="settings" db=0.0ms idle=179.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.593 [debug] QUERY OK source="settings" db=0.0ms idle=179.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.594 [info] Sent 200 in 2ms 13:24:42.772 [info] GET /sources/30/media/4175011/edit 13:24:42.772 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4175011", "source_id" => "30"} Pipelines: [:browser] 13:24:42.772 [debug] QUERY OK source="media_items" db=0.2ms 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" = ?) [4175011] 13:24:42.773 [debug] QUERY OK source="settings" db=0.1ms idle=180.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.773 [debug] QUERY OK source="settings" db=0.0ms idle=180.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.773 [debug] QUERY OK source="settings" db=0.1ms idle=180.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.774 [info] Sent 200 in 2ms 13:24:42.953 [info] GET /sources/37/media/4226614 13:24:42.953 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4226614", "source_id" => "37"} Pipelines: [:browser] 13:24:42.953 [debug] QUERY OK source="media_items" db=0.2ms idle=360.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" = ?) [4226614] 13:24:42.954 [debug] QUERY OK source="tasks" db=0.1ms idle=181.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" [4226614] 13:24:42.954 [debug] QUERY OK source="sources" db=0.2ms idle=181.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:42.954 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=181.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 (?,?)) [536929, 540453] 13:24:42.955 [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 [] 13:24:42.955 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.955 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:42.956 [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] 13:24:42.957 [info] Sent 200 in 4ms 13:24:43.136 [info] GET /sources/37/media/4206313 13:24:43.136 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4206313", "source_id" => "37"} Pipelines: [:browser] 13:24:43.137 [debug] QUERY OK source="media_items" db=0.2ms idle=182.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" = ?) [4206313] 13:24:43.137 [debug] QUERY OK source="tasks" db=0.2ms idle=182.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" [4206313] 13:24:43.138 [debug] QUERY OK source="sources" db=0.3ms idle=182.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:43.139 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=182.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 (?,?)) [531998, 534829] 13:24:43.139 [debug] QUERY OK source="settings" db=0.0ms idle=182.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.139 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.140 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.140 [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] 13:24:43.142 [info] Sent 200 in 5ms 13:24:43.317 [info] GET /sources/30/media/4151358/edit 13:24:43.317 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4151358", "source_id" => "30"} Pipelines: [:browser] 13:24:43.318 [debug] QUERY OK source="media_items" db=0.2ms idle=178.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" = ?) [4151358] 13:24:43.318 [debug] QUERY OK source="settings" db=0.1ms idle=178.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.318 [debug] QUERY OK source="settings" db=0.0ms idle=178.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.319 [debug] QUERY OK source="settings" db=0.0ms idle=178.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.319 [info] Sent 200 in 2ms 13:24:43.467 [info] GET /sources/37/media/4226614/edit 13:24:43.467 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4226614", "source_id" => "37"} Pipelines: [:browser] 13:24:43.468 [debug] QUERY OK source="media_items" db=0.2ms idle=327.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" = ?) [4226614] 13:24:43.468 [debug] QUERY OK source="settings" db=0.1ms idle=150.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.469 [debug] QUERY OK source="settings" db=0.0ms idle=150.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.469 [debug] QUERY OK source="settings" db=0.1ms idle=150.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.470 [info] Sent 200 in 2ms 13:24:43.618 [info] GET /sources/43/media/4118980 13:24:43.618 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4118980", "source_id" => "43"} Pipelines: [:browser] 13:24:43.619 [debug] QUERY OK source="media_items" db=0.2ms idle=150.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" = ?) [4118980] 13:24:43.619 [debug] QUERY OK source="tasks" db=0.2ms 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" [4118980] 13:24:43.620 [debug] QUERY OK source="sources" db=0.2ms idle=150.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:43.620 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=150.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 (?,?)) [512874, 515619] 13:24:43.620 [debug] QUERY OK source="settings" db=0.0ms idle=88.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.621 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.621 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.622 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:24:43.623 [info] Sent 200 in 5ms 13:24:43.770 [info] GET /sources/37/media/3855603 13:24:43.770 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3855603", "source_id" => "37"} Pipelines: [:browser] 13:24:43.770 [debug] QUERY OK source="media_items" db=0.2ms 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" = ?) [3855603] 13:24:43.771 [debug] QUERY OK source="tasks" db=0.1ms idle=150.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" [3855603] 13:24:43.771 [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" = ?) [37] 13:24:43.771 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:24:43.771 [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 [] 13:24:43.772 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.772 [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] 13:24:43.773 [info] Sent 200 in 3ms 13:24:43.921 [info] GET /sources/43/media/4118980/edit 13:24:43.921 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4118980", "source_id" => "43"} Pipelines: [:browser] 13:24:43.921 [debug] QUERY OK source="media_items" db=0.3ms idle=150.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" = ?) [4118980] 13:24:43.922 [debug] QUERY OK source="settings" db=0.1ms idle=150.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.922 [debug] QUERY OK source="settings" db=0.0ms idle=150.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.923 [debug] QUERY OK source="settings" db=0.0ms idle=150.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:43.924 [info] Sent 200 in 3ms 13:24:44.081 [info] GET /sources/37/media/3855603/edit 13:24:44.082 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3855603", "source_id" => "37"} Pipelines: [:browser] 13:24:44.082 [debug] QUERY OK source="media_items" db=0.2ms idle=309.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" = ?) [3855603] 13:24:44.083 [debug] QUERY OK source="settings" db=0.1ms idle=161.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.083 [debug] QUERY OK source="settings" db=0.0ms idle=160.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.083 [debug] QUERY OK source="settings" db=0.0ms idle=161.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.084 [info] Sent 200 in 2ms 13:24:44.232 [info] GET /sources/37/media/4113862 13:24:44.232 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4113862", "source_id" => "37"} Pipelines: [:browser] 13:24:44.232 [debug] QUERY OK source="media_items" db=0.2ms idle=309.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4113862] 13:24:44.233 [debug] QUERY OK source="tasks" db=0.0ms idle=150.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" [4113862] 13:24:44.233 [debug] QUERY OK source="sources" db=0.1ms idle=150.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:44.233 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=150.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 (?,?)) [511952, 514353] 13:24:44.234 [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 [] 13:24:44.234 [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 [] 13:24:44.234 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.235 [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] 13:24:44.237 [info] Sent 200 in 5ms 13:24:44.362 [info] GET /sources/37/media/4113862/edit 13:24:44.362 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4113862", "source_id" => "37"} Pipelines: [:browser] 13:24:44.363 [debug] QUERY OK source="media_items" db=0.2ms 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" = ?) [4113862] 13:24:44.363 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:24:44.363 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:24:44.364 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:24:44.364 [info] Sent 200 in 2ms 13:24:44.492 [info] GET /sources/37/media/3903419 13:24:44.492 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3903419", "source_id" => "37"} Pipelines: [:browser] 13:24:44.493 [debug] QUERY OK source="media_items" db=0.2ms idle=257.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" = ?) [3903419] 13:24:44.493 [debug] QUERY OK source="tasks" db=0.1ms idle=130.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3903419] 13:24:44.493 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:24:44.493 [debug] QUERY OK source="settings" db=0.1ms idle=130.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.494 [debug] QUERY OK source="settings" db=0.1ms idle=130.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.494 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.495 [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] 13:24:44.496 [info] Sent 200 in 3ms 13:24:44.622 [info] GET /sources/37/media/3903419/edit 13:24:44.622 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3903419", "source_id" => "37"} Pipelines: [:browser] 13:24:44.623 [debug] QUERY OK source="media_items" db=0.1ms idle=129.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" = ?) [3903419] 13:24:44.623 [debug] QUERY OK source="settings" db=0.1ms idle=129.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.624 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:24:44.624 [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 [] 13:24:44.625 [info] Sent 200 in 2ms 13:24:44.750 [info] GET /sources/37/media/4003174/edit 13:24:44.750 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4003174", "source_id" => "37"} Pipelines: [:browser] 13:24:44.751 [debug] QUERY OK source="media_items" db=0.1ms idle=217.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" = ?) [4003174] 13:24:44.751 [debug] QUERY OK source="settings" db=0.0ms idle=128.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.751 [debug] QUERY OK source="settings" db=0.0ms idle=127.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.752 [debug] QUERY OK source="settings" db=0.0ms idle=128.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.753 [info] Sent 200 in 2ms 13:24:44.880 [info] GET /sources/37/media/4003174 13:24:44.881 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4003174", "source_id" => "37"} Pipelines: [:browser] 13:24:44.881 [debug] QUERY OK source="media_items" db=0.2ms idle=256.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" = ?) [4003174] 13:24:44.882 [debug] QUERY OK source="tasks" db=0.1ms idle=130.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" [4003174] 13:24:44.882 [debug] QUERY OK source="sources" db=0.2ms idle=130.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:44.882 [debug] QUERY OK source="settings" db=0.0ms idle=130.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.882 [debug] QUERY OK source="settings" db=0.1ms idle=130.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.883 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:44.883 [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] 13:24:44.884 [info] Sent 200 in 3ms 13:24:45.011 [info] GET /sources/43/media/4204488/edit 13:24:45.011 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4204488", "source_id" => "43"} Pipelines: [:browser] 13:24:45.012 [debug] QUERY OK source="media_items" db=0.1ms idle=129.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4204488] 13:24:45.012 [debug] QUERY OK source="settings" db=0.0ms idle=129.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.012 [debug] QUERY OK source="settings" db=0.0ms idle=129.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.012 [debug] QUERY OK source="settings" db=0.0ms idle=129.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.013 [info] Sent 200 in 1ms 13:24:45.125 [info] GET /sources/30/media/4206623 13:24:45.125 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4206623", "source_id" => "30"} Pipelines: [:browser] 13:24:45.126 [debug] QUERY OK source="media_items" db=0.2ms idle=242.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4206623] 13:24:45.126 [debug] QUERY OK source="tasks" db=0.1ms idle=114.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" [4206623] 13:24:45.127 [debug] QUERY OK source="sources" db=0.3ms 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] 13:24:45.128 [debug] QUERY OK source="oban_jobs" db=1.0ms idle=114.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 (?,?)) [532088, 534830] 13:24:45.128 [debug] QUERY OK source="settings" db=0.1ms idle=115.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.128 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.129 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.129 [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] 13:24:45.131 [info] Sent 200 in 5ms 13:24:45.250 [info] GET /sources/30/media/4206623/edit 13:24:45.250 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4206623", "source_id" => "30"} Pipelines: [:browser] 13:24:45.251 [debug] QUERY OK source="media_items" db=0.2ms idle=122.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" = ?) [4206623] 13:24:45.251 [debug] QUERY OK source="settings" db=0.1ms idle=122.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.251 [debug] QUERY OK source="settings" db=0.1ms idle=122.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.252 [debug] QUERY OK source="settings" db=0.0ms idle=122.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.252 [info] Sent 200 in 2ms 13:24:45.370 [info] GET /sources/37/media/4211856 13:24:45.370 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4211856", "source_id" => "37"} Pipelines: [:browser] 13:24:45.370 [debug] QUERY OK source="media_items" db=0.2ms idle=240.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" = ?) [4211856] 13:24:45.371 [debug] QUERY OK source="tasks" db=0.1ms idle=119.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" [4211856] 13:24:45.371 [debug] QUERY OK source="sources" db=0.2ms idle=119.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:24:45.372 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=119.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 (?,?)) [533046, 536878] 13:24:45.372 [debug] QUERY OK source="settings" db=0.0ms idle=120.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.372 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.373 [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 [] 13:24:45.373 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:24:45.375 [info] Sent 200 in 5ms 13:24:45.482 [info] GET /sources/30/media/3991156/edit 13:24:45.482 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3991156", "source_id" => "30"} Pipelines: [:browser] 13:24:45.483 [debug] QUERY OK source="media_items" db=0.2ms idle=110.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" = ?) [3991156] 13:24:45.483 [debug] QUERY OK source="settings" db=0.1ms idle=111.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.484 [debug] QUERY OK source="settings" db=0.0ms idle=111.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.484 [debug] QUERY OK source="settings" db=0.0ms idle=111.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.485 [info] Sent 200 in 2ms 13:24:45.600 [info] GET /sources/30/media/3991156 13:24:45.601 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3991156", "source_id" => "30"} Pipelines: [:browser] 13:24:45.601 [debug] QUERY OK source="media_items" db=0.2ms idle=117.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3991156] 13:24:45.601 [debug] QUERY OK source="tasks" db=0.1ms idle=117.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" [3991156] 13:24:45.602 [debug] QUERY OK source="sources" db=0.1ms idle=117.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:45.602 [debug] QUERY OK source="settings" db=0.0ms idle=117.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.602 [debug] QUERY OK source="settings" db=0.0ms idle=67.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.602 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.603 [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] 13:24:45.604 [info] Sent 200 in 3ms 13:24:45.713 [info] GET /sources/37/media/4211856/edit 13:24:45.713 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4211856", "source_id" => "37"} Pipelines: [:browser] 13:24:45.713 [debug] QUERY OK source="media_items" db=0.2ms idle=111.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" = ?) [4211856] 13:24:45.714 [debug] QUERY OK source="settings" db=0.0ms idle=111.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.714 [debug] QUERY OK source="settings" db=0.0ms idle=111.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.714 [debug] QUERY OK source="settings" db=0.0ms idle=111.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.715 [info] Sent 200 in 2ms 13:24:45.819 [info] GET /sources/43/media/3957790/edit 13:24:45.820 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3957790", "source_id" => "43"} Pipelines: [:browser] 13:24:45.820 [debug] QUERY OK source="media_items" db=0.2ms idle=216.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" = ?) [3957790] 13:24:45.820 [debug] QUERY OK source="settings" db=0.1ms idle=106.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.821 [debug] QUERY OK source="settings" db=0.0ms idle=106.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.821 [debug] QUERY OK source="settings" db=0.0ms idle=107.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.822 [info] Sent 200 in 2ms 13:24:45.921 [info] GET /sources/43/media/3957790 13:24:45.921 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3957790", "source_id" => "43"} Pipelines: [:browser] 13:24:45.922 [debug] QUERY OK source="media_items" db=0.2ms idle=207.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" = ?) [3957790] 13:24:45.922 [debug] QUERY OK source="tasks" db=0.1ms idle=102.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" [3957790] 13:24:45.923 [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] 13:24:45.923 [debug] QUERY OK source="settings" db=0.1ms idle=102.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.923 [debug] QUERY OK source="settings" db=0.1ms idle=101.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.923 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:45.924 [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] 13:24:45.925 [info] Sent 200 in 4ms 13:24:46.030 [info] GET /sources/37/media/3954825/edit 13:24:46.030 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3954825", "source_id" => "37"} Pipelines: [:browser] 13:24:46.031 [debug] QUERY OK source="media_items" db=0.1ms idle=107.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" = ?) [3954825] 13:24:46.031 [debug] QUERY OK source="settings" db=0.1ms idle=107.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:46.031 [debug] QUERY OK source="settings" db=0.0ms idle=107.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:46.032 [debug] QUERY OK source="settings" db=0.0ms idle=108.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:46.032 [info] Sent 200 in 2ms 13:24:46.130 [info] GET /sources/37/media/3954825 13:24:46.130 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3954825", "source_id" => "37"} Pipelines: [:browser] 13:24:46.131 [debug] QUERY OK source="media_items" db=0.2ms idle=206.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" = ?) [3954825] 13:24:46.131 [debug] QUERY OK source="tasks" db=0.1ms idle=100.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" [3954825] 13:24:46.131 [debug] QUERY OK source="sources" db=0.1ms idle=99.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:46.132 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:24:46.132 [debug] QUERY OK source="settings" db=0.1ms idle=99.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:46.132 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:46.133 [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] 13:24:46.134 [info] Sent 200 in 3ms 13:24:46.239 [info] GET /sources/30/media/4214594/edit 13:24:46.239 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4214594", "source_id" => "30"} Pipelines: [:browser] 13:24:46.239 [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" = ?) [4214594] 13:24:46.240 [debug] QUERY OK source="settings" db=0.1ms idle=108.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:46.240 [debug] QUERY OK source="settings" db=0.0ms idle=108.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:46.240 [debug] QUERY OK source="settings" db=0.1ms idle=108.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:46.241 [info] Sent 200 in 2ms 13:24:46.340 [info] GET /sources/30/media/4214594 13:24:46.340 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4214594", "source_id" => "30"} Pipelines: [:browser] 13:24:46.340 [debug] QUERY OK source="media_items" db=0.2ms idle=207.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" = ?) [4214594] 13:24:46.341 [debug] QUERY OK source="tasks" db=0.1ms idle=101.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4214594] 13:24:46.341 [debug] QUERY OK source="sources" db=0.3ms idle=100.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:24:46.342 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=101.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [534051, 536880] 13:24:46.342 [debug] QUERY OK source="settings" db=0.1ms idle=101.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:46.343 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:46.343 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:46.344 [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] 13:24:46.346 [info] Sent 200 in 6ms 13:24:59.561 [info] {"source":"oban","duration":9377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.239 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:25:29.572 [info] {"source":"oban","duration":10214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:59.582 [info] {"source":"oban","duration":9163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.241 [info] {"source":"oban","duration":282,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:26:29.589 [info] {"source":"oban","duration":5829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:55.929 [info] GET /sources/43/media/4204488 13:26:55.929 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4204488", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 13:26:55.929 [debug] QUERY OK source="media_items" db=0.2ms idle=471.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" = ?) [4204488] 13:26:55.930 [debug] QUERY OK source="tasks" db=0.1ms idle=472.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" [4204488] 13:26:55.930 [debug] QUERY OK source="sources" db=0.2ms idle=472.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:26:55.930 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=472.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" = ?) [531303] 13:26:55.931 [debug] QUERY OK source="settings" db=0.1ms idle=251.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:55.931 [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 [] 13:26:55.932 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:55.932 [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] 13:26:55.933 [info] Sent 200 in 4ms 13:26:57.923 [info] GET /media/a23d1f62-b6dd-4b1c-961d-f539768943b4/stream 13:26:57.923 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "a23d1f62-b6dd-4b1c-961d-f539768943b4"} Pipelines: [:maybe_basic_auth] 13:26:57.925 [debug] QUERY OK source="media_items" db=2.1ms idle=465.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" = ?) ["a23d1f62-b6dd-4b1c-961d-f539768943b4"] 13:26:57.926 [debug] Invalid range request for media item: a23d1f62-b6dd-4b1c-961d-f539768943b4 - serving full file 13:26:57.926 [info] Sent 200 in 2ms 13:26:59.597 [info] {"source":"oban","duration":6427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:27:00.241 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:27:29.607 [info] {"source":"oban","duration":9930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:41.750 [info] {"args":{"id":2529276},"id":535585,"meta":{},"system_time":1793039261750548717,"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"]} 13:27:41.751 [debug] QUERY OK source="media_items" db=0.6ms idle=293.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" = ?) [2529276] 13:27:41.751 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:27:41.752 [debug] QUERY OK source="sources" db=0.6ms idle=294.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:27:41.752 [debug] QUERY OK source="media_profiles" db=0.1ms idle=294.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] 13:27:41.753 [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 [2529276] 13:27:41.754 [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" = ?) [2529276] 13:27:41.754 [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] 13:27:41.754 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:41.754 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:41.754 [debug] Running yt-dlp command for action: get_downloadable_status 13:27:41.756 [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 [] 13:27:41.756 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:41.756 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:41.756 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cWzu6G8UoKE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/60/51/60510af21b2d5a77978f40eccee318287b8e63337694fbe40d73eec6f03a7956.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:27:43.689 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cWzu6G8UoKE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/60/51/60510af21b2d5a77978f40eccee318287b8e63337694fbe40d73eec6f03a7956.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] cWzu6G8UoKE: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:27:43.689 [error] yt-dlp download error for media item #2529276: "ERROR: [youtube] cWzu6G8UoKE: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:27:43.689 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2529276},"id":535585,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1938791,"event":"job:exception","queue_time":156307,"attempt":18,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:27:59.618 [info] {"source":"oban","duration":9611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.242 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:28:29.628 [info] {"source":"oban","duration":9492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:39.223 [info] GET /sources/22/edit 13:28:39.223 [info] GET /sources/9/edit 13:28:39.223 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "9"} Pipelines: [:browser] 13:28:39.223 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "22"} Pipelines: [:browser] 13:28:39.224 [debug] QUERY OK source="sources" db=0.5ms idle=1766.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:28:39.224 [debug] QUERY OK source="sources" db=0.5ms idle=1766.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:28:39.225 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1767.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" [] 13:28:39.225 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1412.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 13:28:39.225 [debug] QUERY OK source="settings" db=0.3ms idle=411.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.225 [debug] QUERY OK source="settings" db=0.2ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.226 [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 [] 13:28:39.226 [debug] QUERY OK source="settings" db=0.4ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.226 [debug] QUERY OK source="settings" db=0.3ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.226 [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 [] 13:28:39.229 [info] Sent 200 in 5ms 13:28:39.229 [info] Sent 200 in 5ms 13:28:39.255 [info] GET /sources/28/edit 13:28:39.255 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "28"} Pipelines: [:browser] 13:28:39.255 [debug] QUERY OK source="sources" db=0.2ms idle=29.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [28] 13:28:39.256 [debug] QUERY OK source="media_profiles" db=0.2ms idle=29.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 13:28:39.256 [debug] QUERY OK source="settings" db=0.1ms idle=29.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.256 [debug] QUERY OK source="settings" db=0.0ms idle=29.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.256 [debug] QUERY OK source="settings" db=0.0ms idle=29.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.259 [info] Sent 200 in 3ms 13:28:39.346 [info] GET /sources/35/edit 13:28:39.346 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "35"} Pipelines: [:browser] 13:28:39.347 [debug] QUERY OK source="sources" db=0.2ms idle=91.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:28:39.347 [debug] QUERY OK source="media_profiles" db=0.1ms idle=91.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" [] 13:28:39.347 [debug] QUERY OK source="settings" db=0.1ms idle=91.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.348 [debug] QUERY OK source="settings" db=0.0ms idle=91.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.348 [debug] QUERY OK source="settings" db=0.1ms idle=91.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.350 [info] Sent 200 in 4ms 13:28:39.438 [info] GET /sources/30/edit 13:28:39.438 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "30"} Pipelines: [:browser] 13:28:39.439 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [30] 13:28:39.439 [debug] QUERY OK source="media_profiles" db=0.2ms idle=91.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 13:28:39.440 [debug] QUERY OK source="settings" db=0.1ms idle=92.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.440 [debug] QUERY OK source="settings" db=0.0ms idle=92.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.440 [debug] QUERY OK source="settings" db=0.0ms idle=92.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.442 [info] Sent 200 in 4ms 13:28:39.527 [info] GET /sources/37/edit 13:28:39.527 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "37"} Pipelines: [:browser] 13:28:39.528 [debug] QUERY OK source="sources" db=0.2ms idle=88.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:28:39.528 [debug] QUERY OK source="media_profiles" db=0.1ms idle=88.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 13:28:39.529 [debug] QUERY OK source="settings" db=0.1ms idle=88.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.529 [debug] QUERY OK source="settings" db=0.1ms idle=88.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.529 [debug] QUERY OK source="settings" db=0.1ms idle=88.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.531 [info] Sent 200 in 4ms 13:28:39.620 [info] GET /sources/38/edit 13:28:39.620 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "38"} Pipelines: [:browser] 13:28:39.620 [debug] QUERY OK source="sources" db=0.2ms idle=92.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:28:39.621 [debug] QUERY OK source="media_profiles" db=0.1ms idle=92.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" [] 13:28:39.621 [debug] QUERY OK source="settings" db=0.1ms idle=92.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.621 [debug] QUERY OK source="settings" db=0.1ms idle=92.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.621 [debug] QUERY OK source="settings" db=0.0ms idle=92.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.623 [info] Sent 200 in 3ms 13:28:39.709 [info] GET /sources/43/edit 13:28:39.710 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "43"} Pipelines: [:browser] 13:28:39.710 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [43] 13:28:39.711 [debug] QUERY OK source="media_profiles" db=0.1ms idle=89.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" [] 13:28:39.711 [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 [] 13:28:39.711 [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 [] 13:28:39.712 [debug] QUERY OK source="settings" db=0.1ms idle=90.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.714 [info] Sent 200 in 4ms 13:28:39.800 [info] GET /sources/55/edit 13:28:39.800 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "55"} Pipelines: [:browser] 13:28:39.801 [debug] QUERY OK source="sources" db=0.2ms idle=90.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:28:39.801 [debug] QUERY OK source="media_profiles" db=0.1ms 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" [] 13:28:39.801 [debug] QUERY OK source="settings" db=0.0ms idle=90.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.801 [debug] QUERY OK source="settings" db=0.0ms idle=90.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.802 [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 [] 13:28:39.804 [info] Sent 200 in 4ms 13:28:39.892 [info] GET /sources/57/edit 13:28:39.892 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "57"} Pipelines: [:browser] 13:28:39.892 [debug] QUERY OK source="sources" db=0.2ms idle=91.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:28:39.893 [debug] QUERY OK source="media_profiles" db=0.1ms idle=91.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" [] 13:28:39.893 [debug] QUERY OK source="settings" db=0.1ms idle=91.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.893 [debug] QUERY OK source="settings" db=0.0ms idle=91.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.894 [debug] QUERY OK source="settings" db=0.1ms idle=79.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.896 [info] Sent 200 in 4ms 13:28:39.988 [info] GET /sources/17/edit 13:28:39.988 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "17"} Pipelines: [:browser] 13:28:39.988 [debug] QUERY OK source="sources" db=0.2ms idle=96.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:28:39.989 [debug] QUERY OK source="media_profiles" db=0.1ms idle=96.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" [] 13:28:39.989 [debug] QUERY OK source="settings" db=0.1ms idle=96.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.989 [debug] QUERY OK source="settings" db=0.0ms idle=96.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.990 [debug] QUERY OK source="settings" db=0.0ms idle=96.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:39.992 [info] Sent 200 in 4ms 13:28:40.074 [info] GET /media_profiles/2 13:28:40.074 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 13:28:40.075 [debug] QUERY OK source="media_profiles" db=0.1ms idle=85.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] 13:28:40.075 [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" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 13:28:40.075 [debug] QUERY OK source="settings" db=0.1ms idle=85.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:40.076 [debug] QUERY OK source="settings" db=0.0ms idle=86.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:40.076 [debug] QUERY OK source="settings" db=0.0ms idle=86.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:40.077 [info] Sent 200 in 3ms 13:28:40.165 [info] GET /sources/26/edit 13:28:40.165 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "26"} Pipelines: [:browser] 13:28:40.166 [debug] QUERY OK source="sources" db=0.2ms idle=90.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:28:40.166 [debug] QUERY OK source="media_profiles" db=0.1ms idle=90.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" [] 13:28:40.166 [debug] QUERY OK source="settings" db=0.1ms idle=90.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:40.167 [debug] QUERY OK source="settings" db=0.1ms idle=90.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:40.167 [debug] QUERY OK source="settings" db=0.0ms idle=90.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:40.169 [info] Sent 200 in 3ms 13:28:40.256 [info] GET /sources/28/media/4124646 13:28:40.256 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4124646", "prevent_download" => "true", "source_id" => "28"} Pipelines: [:browser] 13:28:40.257 [debug] QUERY OK source="media_items" db=0.2ms idle=90.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4124646] 13:28:40.257 [debug] QUERY OK source="tasks" db=0.3ms idle=91.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" [4124646] 13:28:40.258 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [28] 13:28:40.258 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=91.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" = ?) [514324] 13:28:40.258 [debug] QUERY OK source="settings" db=0.0ms idle=91.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:40.258 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:40.259 [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 [] 13:28:40.259 [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] 13:28:40.261 [info] Sent 200 in 4ms 13:28:59.638 [info] {"source":"oban","duration":9478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.243 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:29:07.855 [info] {"args":{"id":45},"id":541414,"meta":{},"system_time":1793039347855418408,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:29:07.856 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [45] 13:29:07.856 [debug] QUERY OK source="settings" db=0.2ms idle=399.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:07.859 [debug] QUERY OK source="media_items" db=2.2ms idle=399.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] 13:29:07.860 [debug] QUERY OK source="media_items" db=0.8ms idle=10.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [45] 13:29:07.860 [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] 13:29:07.860 [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 [] 13:29:07.861 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:07.863 [debug] QUERY OK source="media_items" db=1.2ms 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 [45] 13:29:07.866 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:29:07.866 [debug] Current batch of media processed. Will check again in 1000ms 13:29:07.866 [debug] QUERY OK source="settings" db=0.0ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:07.866 [debug] QUERY OK source="settings" db=0.0ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:07.866 [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 [] 13:29:07.866 [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/76/47/7647b07778f42fad2dde96a4f68ff05dba366611657084473799259892eb6b90.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/d1/bb/d1bbd04ece86cc80718b2f4dd93b83f89f7c1319aaa3aafee7f6132248f84bef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:29:08.866 [debug] Current batch of media processed. Will check again in 1000ms 13:29:09.867 [debug] Current batch of media processed. Will check again in 1000ms 13:29:10.868 [debug] Current batch of media processed. Will check again in 1000ms 13:29:11.869 [debug] Current batch of media processed. Will check again in 1000ms 13:29:12.870 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss the 8 eMudhra certificate authority private keys that used less than 8 bits of entropy and could have allowed hackers to hijack the web traffic of thousands of websites.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 684, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102400_This Company Used The Worst Private Keys Ever.mp4", "id" => "09fUpgAlRRU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=09fUpgAlRRU", "playlist_index" => 1, "timestamp" => 1792803896, "title" => "This Company Used The Worst Private Keys Ever", "upload_date" => "20261024"} 13:29:12.871 [debug] QUERY OK source="sources" db=0.2ms idle=1413.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:12.871 [debug] QUERY OK source="sources" db=0.2ms idle=1413.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:12.873 [debug] QUERY OK source="media_items" db=1.7ms idle=1414.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 01:04:56Z], 45] 13:29:12.876 [debug] QUERY OK source="media_items" db=1.6ms idle=1019.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 8 eMudhra certificate authority private keys that used less than 8 bits of entropy and could have allowed hackers to hijack the web traffic of thousands of websites.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "This Company Used The Worst Private Keys Ever", "06dd599f-a85d-4d02-b3db-7557954b329f", "09fUpgAlRRU", 684, false, "https://www.youtube.com/watch?v=09fUpgAlRRU", 1, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102400_This Company Used The Worst Private Keys Ever.mp4", false, false, false, 45, [], 98, ~U[2026-10-24 01:04:56Z], ~U[2026-10-26 18:29:12Z], ~U[2026-10-26 18:29:12Z], "In this video I discuss the 8 eMudhra certificate authority private keys that used less than 8 bits of entropy and could have allowed hackers to hijack the web traffic of thousands of websites.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "This Company Used The Worst Private Keys Ever", "09fUpgAlRRU", 684, false, "https://www.youtube.com/watch?v=09fUpgAlRRU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102400_This Company Used The Worst Private Keys Ever.mp4", false, 45, ~U[2026-10-24 01:04:56Z]] 13:29:12.876 [debug] QUERY OK source="sources" db=0.2ms idle=20.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:12.876 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 13:29:12.877 [debug] QUERY OK source="media_items" db=0.3ms 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 [4225813] 13:29:12.877 [debug] Current batch of media processed. Will check again in 1000ms 13:29:13.878 [debug] Current batch of media processed. Will check again in 1000ms 13:29:14.879 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss the PHP2Shell Bug which is most severe PHP RCE bug to be discovered this decade, and because of it's poor disclosure process hundreds of websites had to be taken offline while the engineers responsible for their security waited for emergency patches to drop a day earlier than expected.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 754, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102300_The PHP Bug That Broke The Internet.mp4", "id" => "yQMIxUWse6M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yQMIxUWse6M", "playlist_index" => 2, "timestamp" => 1792717444, "title" => "The PHP Bug That Broke The Internet", "upload_date" => "20261023"} 13:29:14.880 [debug] QUERY OK source="sources" db=0.1ms idle=422.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:14.880 [debug] QUERY OK source="sources" db=0.2ms idle=422.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:14.882 [debug] QUERY OK source="media_items" db=1.9ms idle=423.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-23 01:04:04Z], 45] 13:29:14.884 [debug] QUERY OK source="media_items" db=1.1ms idle=425.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 the PHP2Shell Bug which is most severe PHP RCE bug to be discovered this decade, and because of it's poor disclosure process hundreds of websites had to be taken offline while the engineers responsible for their security waited for emergency patches to drop a day earlier than expected.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 PHP Bug That Broke The Internet", "a339e8fc-a174-49cb-9501-42a1d841bb05", "yQMIxUWse6M", 754, false, "https://www.youtube.com/watch?v=yQMIxUWse6M", 2, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102300_The PHP Bug That Broke The Internet.mp4", false, false, false, 45, [], 98, ~U[2026-10-23 01:04:04Z], ~U[2026-10-26 18:29:14Z], ~U[2026-10-26 18:29:14Z], "In this video I discuss the PHP2Shell Bug which is most severe PHP RCE bug to be discovered this decade, and because of it's poor disclosure process hundreds of websites had to be taken offline while the engineers responsible for their security waited for emergency patches to drop a day earlier than expected.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 PHP Bug That Broke The Internet", "yQMIxUWse6M", 754, false, "https://www.youtube.com/watch?v=yQMIxUWse6M", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102300_The PHP Bug That Broke The Internet.mp4", false, 45, ~U[2026-10-23 01:04:04Z]] 13:29:14.884 [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] 13:29:14.885 [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] 13:29:14.885 [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 [4217879] 13:29:14.885 [debug] Current batch of media processed. Will check again in 1000ms 13:29:15.886 [debug] Current batch of media processed. Will check again in 1000ms 13:29:16.887 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I explain how a zero day vulnerability in Dread's anti DDoS software, along with it's head technical admin accidentally uploading a private key, lead to the sites main onion domain getting hijacked, and the site being taken offline temporarily. I also discuss the hackers attempt to launch their own dark web forum and my opinions on how this could affect the dark web as a whole.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 1129, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102100_The Dark Webs Most Popular Forum Got Hacked.mp4", "id" => "n3_sMAAERwo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=n3_sMAAERwo", "playlist_index" => 3, "timestamp" => 1792626301, "title" => "The Dark Webs Most Popular Forum Got Hacked", "upload_date" => "20261021"} 13:29:16.888 [debug] QUERY OK source="sources" db=0.1ms idle=430.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:16.888 [debug] QUERY OK source="sources" db=0.1ms idle=430.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:16.890 [debug] QUERY OK source="media_items" db=1.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-10-21 23:45:01Z], 45] 13:29:16.891 [debug] QUERY OK source="media_items" db=1.1ms idle=432.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 explain how a zero day vulnerability in Dread's anti DDoS software, along with it's head technical admin accidentally uploading a private key, lead to the sites main onion domain getting hijacked, and the site being taken offline temporarily. I also discuss the hackers attempt to launch their own dark web forum and my opinions on how this could affect the dark web as a whole.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Dark Webs Most Popular Forum Got Hacked", "93133387-9000-493b-894e-26d492cec6a6", "n3_sMAAERwo", 1129, false, "https://www.youtube.com/watch?v=n3_sMAAERwo", 3, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102100_The Dark Webs Most Popular Forum Got Hacked.mp4", false, false, false, 45, [], 98, ~U[2026-10-21 23:45:01Z], ~U[2026-10-26 18:29:16Z], ~U[2026-10-26 18:29:16Z], "In this video I explain how a zero day vulnerability in Dread's anti DDoS software, along with it's head technical admin accidentally uploading a private key, lead to the sites main onion domain getting hijacked, and the site being taken offline temporarily. I also discuss the hackers attempt to launch their own dark web forum and my opinions on how this could affect the dark web as a whole.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Dark Webs Most Popular Forum Got Hacked", "n3_sMAAERwo", 1129, false, "https://www.youtube.com/watch?v=n3_sMAAERwo", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102100_The Dark Webs Most Popular Forum Got Hacked.mp4", false, 45, ~U[2026-10-21 23:45:01Z]] 13:29:16.892 [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] 13:29:16.892 [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] 13:29:16.892 [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 [4208654] 13:29:16.892 [debug] Current batch of media processed. Will check again in 1000ms 13:29:17.893 [debug] Current batch of media processed. Will check again in 1000ms 13:29:18.894 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss Art Craft, with a focus on Photo Craft which is an open source clone of Adobe's Photoshop program that works natively on Linux and FreeBSD at no cost without the need for Wine or other compatibility layers.\n\nTry Art Craft programs yourself\nhttps://getartcraft.com/apps\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 619, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e101700_Art Craft Cloned Adobe Creative Cloud and Made it Open Source.mp4", "id" => "Hr2ARNsKwHA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Hr2ARNsKwHA", "playlist_index" => 4, "timestamp" => 1792195967, "title" => "Art Craft Cloned Adobe Creative Cloud and Made it Open Source", "upload_date" => "20261017"} 13:29:18.895 [debug] QUERY OK source="sources" db=0.2ms idle=437.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:18.895 [debug] QUERY OK source="sources" db=0.1ms idle=438.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:18.897 [debug] QUERY OK source="media_items" db=1.3ms idle=438.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-17 00:12:47Z], 45] 13:29:18.898 [debug] QUERY OK source="media_items" db=0.8ms idle=439.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 Art Craft, with a focus on Photo Craft which is an open source clone of Adobe's Photoshop program that works natively on Linux and FreeBSD at no cost without the need for Wine or other compatibility layers.\n\nTry Art Craft programs yourself\nhttps://getartcraft.com/apps\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Art Craft Cloned Adobe Creative Cloud and Made it Open Source", "18179a36-0002-4025-967a-a4df5c648423", "Hr2ARNsKwHA", 619, false, "https://www.youtube.com/watch?v=Hr2ARNsKwHA", 4, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e101700_Art Craft Cloned Adobe Creative Cloud and Made it Open Source.mp4", false, false, false, 45, [], 98, ~U[2026-10-17 00:12:47Z], ~U[2026-10-26 18:29:18Z], ~U[2026-10-26 18:29:18Z], "In this video I discuss Art Craft, with a focus on Photo Craft which is an open source clone of Adobe's Photoshop program that works natively on Linux and FreeBSD at no cost without the need for Wine or other compatibility layers.\n\nTry Art Craft programs yourself\nhttps://getartcraft.com/apps\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Art Craft Cloned Adobe Creative Cloud and Made it Open Source", "Hr2ARNsKwHA", 619, false, "https://www.youtube.com/watch?v=Hr2ARNsKwHA", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e101700_Art Craft Cloned Adobe Creative Cloud and Made it Open Source.mp4", false, 45, ~U[2026-10-17 00:12:47Z]] 13:29:18.898 [debug] QUERY OK source="sources" db=0.1ms idle=37.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:18.899 [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] 13:29:18.899 [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 [4169173] 13:29:18.899 [debug] Current batch of media processed. Will check again in 1000ms 13:29:19.900 [debug] Current batch of media processed. Will check again in 1000ms 13:29:20.901 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss the biggest update to F-Droid in years, better search features and a more modern looking user interface.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 618, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e092700_F-Droid 2.0 - The Biggest Update In Years.mp4", "id" => "i_T9ARBP3nw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i_T9ARBP3nw", "playlist_index" => 5, "timestamp" => 1790543486, "title" => "F-Droid 2.0 - The Biggest Update In Years", "upload_date" => "20260927"} 13:29:20.902 [debug] QUERY OK source="sources" db=0.3ms idle=444.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:20.902 [debug] QUERY OK source="sources" db=0.1ms idle=444.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:20.904 [debug] QUERY OK source="media_items" db=1.7ms idle=445.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-27 21:11:26Z], 45] 13:29:20.910 [debug] QUERY OK source="media_items" db=5.2ms idle=447.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 biggest update to F-Droid in years, better search features and a more modern looking user interface.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "F-Droid 2.0 - The Biggest Update In Years", "92dba2c9-ab88-4aea-bd39-706e5e133237", "i_T9ARBP3nw", 618, false, "https://www.youtube.com/watch?v=i_T9ARBP3nw", 5, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e092700_F-Droid 2.0 - The Biggest Update In Years.mp4", false, false, false, 45, [], 98, ~U[2026-09-27 21:11:26Z], ~U[2026-10-26 18:29:20Z], ~U[2026-10-26 18:29:20Z], "In this video I discuss the biggest update to F-Droid in years, better search features and a more modern looking user interface.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "F-Droid 2.0 - The Biggest Update In Years", "i_T9ARBP3nw", 618, false, "https://www.youtube.com/watch?v=i_T9ARBP3nw", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e092700_F-Droid 2.0 - The Biggest Update In Years.mp4", false, 45, ~U[2026-09-27 21:11:26Z]] 13:29:20.910 [debug] QUERY OK source="sources" db=0.1ms idle=47.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:20.910 [debug] QUERY OK source="media_profiles" db=0.0ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:29:20.911 [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 [4020618] 13:29:20.911 [debug] Current batch of media processed. Will check again in 1000ms 13:29:21.911 [debug] Current batch of media processed. Will check again in 1000ms 13:29:22.912 [debug] Current batch of media processed. Will check again in 1000ms 13:29:23.913 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I review Omarchy OS and some of the agentic workflows you can perform on it. It's an interesting experience and requires little configuration for AI workflows besides signing into accounts or pasting in API keys but there's also several security concerns with it.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 1793, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091700_Omarchy - The Agentic Linux Desktop.mp4", "id" => "r1TGWAIoWy0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=r1TGWAIoWy0", "playlist_index" => 6, "timestamp" => 1789687065, "title" => "Omarchy - The Agentic Linux Desktop", "upload_date" => "20260917"} 13:29:23.914 [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" IN (?)) [45] 13:29:23.914 [debug] QUERY OK source="sources" db=0.1ms idle=1456.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:23.916 [debug] QUERY OK source="media_items" db=1.5ms idle=1456.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-17 23:17:45Z], 45] 13:29:23.918 [debug] QUERY OK source="media_items" db=1.6ms idle=1051.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 review Omarchy OS and some of the agentic workflows you can perform on it. It's an interesting experience and requires little configuration for AI workflows besides signing into accounts or pasting in API keys but there's also several security concerns with it.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Omarchy - The Agentic Linux Desktop", "a6f1b6a7-fb4b-4360-8d79-1da39231b64c", "r1TGWAIoWy0", 1793, false, "https://www.youtube.com/watch?v=r1TGWAIoWy0", 6, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091700_Omarchy - The Agentic Linux Desktop.mp4", false, false, false, 45, [], 98, ~U[2026-09-17 23:17:45Z], ~U[2026-10-26 18:29:23Z], ~U[2026-10-26 18:29:23Z], "In this video I review Omarchy OS and some of the agentic workflows you can perform on it. It's an interesting experience and requires little configuration for AI workflows besides signing into accounts or pasting in API keys but there's also several security concerns with it.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Omarchy - The Agentic Linux Desktop", "r1TGWAIoWy0", 1793, false, "https://www.youtube.com/watch?v=r1TGWAIoWy0", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091700_Omarchy - The Agentic Linux Desktop.mp4", false, 45, ~U[2026-09-17 23:17:45Z]] 13:29:23.918 [debug] QUERY OK source="sources" db=0.1ms idle=52.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:23.918 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:29:23.919 [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 [3945764] 13:29:23.919 [debug] Current batch of media processed. Will check again in 1000ms 13:29:24.919 [debug] Current batch of media processed. Will check again in 1000ms 13:29:25.920 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how easily compromised home security systems can leave you more unsafe than not having it in the first place.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 558, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091000_When Home Security Gets Hijacked.mp4", "id" => "CGSRA1Wo7AA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CGSRA1Wo7AA", "playlist_index" => 7, "timestamp" => 1789070780, "title" => "When Home Security Gets Hijacked", "upload_date" => "20260910"} 13:29:25.921 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=463.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:25.921 [debug] QUERY OK source="sources" db=0.1ms idle=464.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:25.924 [debug] QUERY OK source="media_items" db=2.1ms idle=464.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-10 20:06:20Z], 45] 13:29:25.926 [debug] QUERY OK source="media_items" db=2.0ms idle=466.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 easily compromised home security systems can leave you more unsafe than not having it in the first place.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Home Security Gets Hijacked", "d04361e3-a3e9-4b6f-9fe1-36128c0f4aa8", "CGSRA1Wo7AA", 558, false, "https://www.youtube.com/watch?v=CGSRA1Wo7AA", 7, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091000_When Home Security Gets Hijacked.mp4", false, false, false, 45, [], 98, ~U[2026-09-10 20:06:20Z], ~U[2026-10-26 18:29:25Z], ~U[2026-10-26 18:29:25Z], "In this video I discuss how easily compromised home security systems can leave you more unsafe than not having it in the first place.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Home Security Gets Hijacked", "CGSRA1Wo7AA", 558, false, "https://www.youtube.com/watch?v=CGSRA1Wo7AA", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091000_When Home Security Gets Hijacked.mp4", false, 45, ~U[2026-09-10 20:06:20Z]] 13:29:25.927 [debug] QUERY OK source="sources" db=0.2ms idle=58.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:25.927 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:29:25.928 [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 [3889081] 13:29:25.928 [debug] Current batch of media processed. Will check again in 1000ms 13:29:26.928 [debug] Current batch of media processed. Will check again in 1000ms 13:29:27.929 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how X (the platform formerly known as twitter) sent cease and desist letters to the operators of nitter.net, xcancel, and other various twitter front end alternatives and claimed that scraping twitter and then serving up posts for people to view on other platforms without X's permission is illegal. At least one Nitter operator is seeking to fight against X's copyright violation claims.\nhttps://poa.st/@graf/posts/B9jPAYjrTmfPW3q9R2\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 861, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082900_X Has Shut Down Nitter.mp4", "id" => "u38-b7E3bSU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=u38-b7E3bSU", "playlist_index" => 8, "timestamp" => 1787961932, "title" => "X Has Shut Down Nitter", "upload_date" => "20260829"} 13:29:27.930 [debug] QUERY OK source="sources" db=0.2ms idle=472.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:27.930 [debug] QUERY OK source="sources" db=0.1ms idle=472.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:27.932 [debug] QUERY OK source="media_items" db=1.7ms idle=473.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-29 00:05:32Z], 45] 13:29:27.934 [debug] QUERY OK source="media_items" db=1.8ms idle=475.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 X (the platform formerly known as twitter) sent cease and desist letters to the operators of nitter.net, xcancel, and other various twitter front end alternatives and claimed that scraping twitter and then serving up posts for people to view on other platforms without X's permission is illegal. At least one Nitter operator is seeking to fight against X's copyright violation claims.\nhttps://poa.st/@graf/posts/B9jPAYjrTmfPW3q9R2\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "X Has Shut Down Nitter", "3bc75211-92ec-4d45-aeff-9ce81335ba9d", "u38-b7E3bSU", 861, false, "https://www.youtube.com/watch?v=u38-b7E3bSU", 8, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082900_X Has Shut Down Nitter.mp4", false, false, false, 45, [], 98, ~U[2026-08-29 00:05:32Z], ~U[2026-10-26 18:29:27Z], ~U[2026-10-26 18:29:27Z], "In this video I discuss how X (the platform formerly known as twitter) sent cease and desist letters to the operators of nitter.net, xcancel, and other various twitter front end alternatives and claimed that scraping twitter and then serving up posts for people to view on other platforms without X's permission is illegal. At least one Nitter operator is seeking to fight against X's copyright violation claims.\nhttps://poa.st/@graf/posts/B9jPAYjrTmfPW3q9R2\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "X Has Shut Down Nitter", "u38-b7E3bSU", 861, false, "https://www.youtube.com/watch?v=u38-b7E3bSU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082900_X Has Shut Down Nitter.mp4", false, 45, ~U[2026-08-29 00:05:32Z]] 13:29:27.935 [debug] QUERY OK source="sources" db=0.1ms idle=64.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:27.935 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:29:27.936 [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 [3787737] 13:29:27.936 [debug] Current batch of media processed. Will check again in 1000ms 13:29:28.936 [debug] Current batch of media processed. Will check again in 1000ms 13:29:29.645 [info] {"source":"oban","duration":7265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:29.937 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how different kinds of ad blockers work, including browser based ad blockers and network wide DNS filters.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 841, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082200_How Ad Blockers Work.mp4", "id" => "ddCLuQLMq_8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ddCLuQLMq_8", "playlist_index" => 9, "timestamp" => 1787357970, "title" => "How Ad Blockers Work", "upload_date" => "20260822"} 13:29:29.938 [debug] QUERY OK source="sources" db=0.2ms idle=480.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:29.938 [debug] QUERY OK source="sources" db=0.1ms idle=480.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:29.940 [debug] QUERY OK source="media_items" db=1.4ms idle=480.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-22 00:19:30Z], 45] 13:29:29.942 [debug] QUERY OK source="media_items" db=1.7ms idle=294.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 different kinds of ad blockers work, including browser based ad blockers and network wide DNS filters.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Ad Blockers Work", "c3aef505-c36c-4d4d-85b1-411f6c03f545", "ddCLuQLMq_8", 841, false, "https://www.youtube.com/watch?v=ddCLuQLMq_8", 9, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082200_How Ad Blockers Work.mp4", false, false, false, 45, [], 98, ~U[2026-08-22 00:19:30Z], ~U[2026-10-26 18:29:29Z], ~U[2026-10-26 18:29:29Z], "In this video I discuss how different kinds of ad blockers work, including browser based ad blockers and network wide DNS filters.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Ad Blockers Work", "ddCLuQLMq_8", 841, false, "https://www.youtube.com/watch?v=ddCLuQLMq_8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082200_How Ad Blockers Work.mp4", false, 45, ~U[2026-08-22 00:19:30Z]] 13:29:29.942 [debug] QUERY OK source="sources" db=0.1ms idle=69.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:29.942 [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] 13:29:29.943 [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 [3732981] 13:29:29.943 [debug] Current batch of media processed. Will check again in 1000ms 13:29:30.943 [debug] Current batch of media processed. Will check again in 1000ms 13:29:31.944 [debug] Current batch of media processed. Will check again in 1000ms 13:29:32.945 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how the European Digital Identity program's implementation could make Linux phones, older Android devices, and Android phones with custom ROM's unable to access online services.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 549, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e080900_EU's Digital ID is Killing the Open Phone Market.mp4", "id" => "WEHVIofDFJ4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WEHVIofDFJ4", "playlist_index" => 10, "timestamp" => 1786313915, "title" => "EU's Digital ID is Killing the Open Phone Market", "upload_date" => "20260809"} 13:29:32.946 [debug] QUERY OK source="sources" db=0.3ms idle=1488.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:32.947 [debug] QUERY OK source="sources" db=0.1ms idle=1489.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:32.948 [debug] QUERY OK source="media_items" db=1.7ms idle=1489.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-09 22:18:35Z], 45] 13:29:32.951 [debug] QUERY OK source="media_items" db=1.8ms idle=1072.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 the European Digital Identity program's implementation could make Linux phones, older Android devices, and Android phones with custom ROM's unable to access online services.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "EU's Digital ID is Killing the Open Phone Market", "3386b704-3c74-4629-8cc3-a60437be6d72", "WEHVIofDFJ4", 549, false, "https://www.youtube.com/watch?v=WEHVIofDFJ4", 10, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e080900_EU's Digital ID is Killing the Open Phone Market.mp4", false, false, false, 45, [], 98, ~U[2026-08-09 22:18:35Z], ~U[2026-10-26 18:29:32Z], ~U[2026-10-26 18:29:32Z], "In this video I discuss how the European Digital Identity program's implementation could make Linux phones, older Android devices, and Android phones with custom ROM's unable to access online services.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "EU's Digital ID is Killing the Open Phone Market", "WEHVIofDFJ4", 549, false, "https://www.youtube.com/watch?v=WEHVIofDFJ4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e080900_EU's Digital ID is Killing the Open Phone Market.mp4", false, 45, ~U[2026-08-09 22:18:35Z]] 13:29:32.951 [debug] QUERY OK source="sources" db=0.2ms idle=73.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:32.952 [debug] QUERY OK source="media_profiles" db=0.8ms 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] 13:29:32.953 [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 [3636159] 13:29:32.953 [debug] Current batch of media processed. Will check again in 1000ms 13:29:33.953 [debug] Current batch of media processed. Will check again in 1000ms 13:29:34.954 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how different federal agencies are attempting to prosecute people for the use of GrapheneOS features to erase data from their phones and make it more difficult to access.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 814, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e072900_The Government's War On GrapheneOS.mp4", "id" => "eDQtUwad5vg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eDQtUwad5vg", "playlist_index" => 11, "timestamp" => 1785360696, "title" => "The Government's War On GrapheneOS", "upload_date" => "20260729"} 13:29:34.955 [debug] QUERY OK source="sources" db=0.1ms idle=497.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:34.955 [debug] QUERY OK source="sources" db=0.1ms idle=497.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:34.956 [debug] QUERY OK source="media_items" db=1.3ms idle=497.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 21:31:36Z], 45] 13:29:34.957 [debug] QUERY OK source="media_items" db=0.6ms idle=499.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 different federal agencies are attempting to prosecute people for the use of GrapheneOS features to erase data from their phones and make it more difficult to access.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Government's War On GrapheneOS", "3e910421-996f-4d80-9510-ab0b8ad75706", "eDQtUwad5vg", 814, false, "https://www.youtube.com/watch?v=eDQtUwad5vg", 11, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e072900_The Government's War On GrapheneOS.mp4", false, false, false, 45, [], 98, ~U[2026-07-29 21:31:36Z], ~U[2026-10-26 18:29:34Z], ~U[2026-10-26 18:29:34Z], "In this video I discuss how different federal agencies are attempting to prosecute people for the use of GrapheneOS features to erase data from their phones and make it more difficult to access.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Government's War On GrapheneOS", "eDQtUwad5vg", 814, false, "https://www.youtube.com/watch?v=eDQtUwad5vg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e072900_The Government's War On GrapheneOS.mp4", false, 45, ~U[2026-07-29 21:31:36Z]] 13:29:34.958 [debug] QUERY OK source="sources" db=0.1ms idle=77.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:34.958 [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] 13:29:34.958 [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 [3550762] 13:29:34.958 [debug] Current batch of media processed. Will check again in 1000ms 13:29:35.959 [debug] Current batch of media processed. Will check again in 1000ms 13:29:36.960 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I explain how corporations are crushing the physical media industry to make more money off of consumers, wipe out the 2nd hand movie and games market, and control who is able to watch what where and when.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 1123, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e071000_The End of Physical Media.mp4", "id" => "D_zA3dQtEiQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=D_zA3dQtEiQ", "playlist_index" => 12, "timestamp" => 1783645479, "title" => "The End of Physical Media", "upload_date" => "20260710"} 13:29:36.961 [debug] QUERY OK source="sources" db=0.2ms idle=503.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:36.961 [debug] QUERY OK source="sources" db=0.1ms idle=503.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:36.963 [debug] QUERY OK source="media_items" db=1.7ms idle=504.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-10 01:04:39Z], 45] 13:29:36.982 [debug] QUERY OK source="media_items" db=18.7ms idle=506.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 corporations are crushing the physical media industry to make more money off of consumers, wipe out the 2nd hand movie and games market, and control who is able to watch what where and when.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 End of Physical Media", "e1a34e72-3ac7-4d1f-bdca-7e1d46bec75a", "D_zA3dQtEiQ", 1123, false, "https://www.youtube.com/watch?v=D_zA3dQtEiQ", 12, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e071000_The End of Physical Media.mp4", false, false, false, 45, [], 98, ~U[2026-07-10 01:04:39Z], ~U[2026-10-26 18:29:36Z], ~U[2026-10-26 18:29:36Z], "In this video I explain how corporations are crushing the physical media industry to make more money off of consumers, wipe out the 2nd hand movie and games market, and control who is able to watch what where and when.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 End of Physical Media", "D_zA3dQtEiQ", 1123, false, "https://www.youtube.com/watch?v=D_zA3dQtEiQ", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e071000_The End of Physical Media.mp4", false, 45, ~U[2026-07-10 01:04:39Z]] 13:29:36.983 [debug] QUERY OK source="sources" db=0.3ms idle=100.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:36.983 [debug] QUERY OK source="media_profiles" db=0.2ms idle=22.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:29:36.984 [debug] QUERY OK source="media_items" db=0.2ms idle=22.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 [3394980] 13:29:36.984 [debug] Current batch of media processed. Will check again in 1000ms 13:29:37.984 [debug] Current batch of media processed. Will check again in 1000ms 13:29:38.985 [debug] Current batch of media processed. Will check again in 1000ms 13:29:39.987 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how police are misusing and abusing automated systems like facial recognition, shot spotter, and automated license plate readers (ALPRs) like Flock to wrongfully charge people with crime and traffic violations.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 1109, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e070300_How Police Are Abusing AI Systems.mp4", "id" => "CDNc68cvaa4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CDNc68cvaa4", "playlist_index" => 13, "timestamp" => 1783095374, "title" => "How Police Are Abusing AI Systems", "upload_date" => "20260703"} 13:29:39.987 [debug] QUERY OK source="sources" db=0.2ms idle=1529.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:39.988 [debug] QUERY OK source="sources" db=0.1ms idle=1530.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:39.990 [debug] QUERY OK source="media_items" db=1.8ms idle=1530.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 16:16:14Z], 45] 13:29:39.996 [debug] QUERY OK source="media_items" db=5.5ms idle=1103.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 police are misusing and abusing automated systems like facial recognition, shot spotter, and automated license plate readers (ALPRs) like Flock to wrongfully charge people with crime and traffic violations.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Police Are Abusing AI Systems", "3e8608d3-d1ff-4b3b-970a-1068d3f83549", "CDNc68cvaa4", 1109, false, "https://www.youtube.com/watch?v=CDNc68cvaa4", 13, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e070300_How Police Are Abusing AI Systems.mp4", false, false, false, 45, [], 98, ~U[2026-07-03 16:16:14Z], ~U[2026-10-26 18:29:39Z], ~U[2026-10-26 18:29:39Z], "In this video I discuss how police are misusing and abusing automated systems like facial recognition, shot spotter, and automated license plate readers (ALPRs) like Flock to wrongfully charge people with crime and traffic violations.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Police Are Abusing AI Systems", "CDNc68cvaa4", 1109, false, "https://www.youtube.com/watch?v=CDNc68cvaa4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e070300_How Police Are Abusing AI Systems.mp4", false, 45, ~U[2026-07-03 16:16:14Z]] 13:29:39.996 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [45] 13:29:39.996 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:29:39.997 [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 [3344464] 13:29:39.997 [debug] Current batch of media processed. Will check again in 1000ms 13:29:40.998 [debug] Current batch of media processed. Will check again in 1000ms 13:29:41.999 [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" => 14, "timestamp" => 1782430242, "title" => "Your TV Might Be Part Of A Botnet", "upload_date" => "20260625"} 13:29:42.000 [debug] QUERY OK source="sources" db=0.2ms idle=542.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:42.000 [debug] QUERY OK source="sources" db=0.1ms idle=542.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:42.002 [debug] QUERY OK source="media_items" db=1.7ms idle=543.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-25 23:30:42Z], 45] 13:29:42.004 [debug] QUERY OK source="media_items" db=1.7ms idle=545.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", "3cc628a3-69e4-4f90-b496-8f62bba52a4c", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", 14, "/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-10-26 18:29:42Z], ~U[2026-10-26 18:29:42Z], "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]] 13:29:42.005 [debug] QUERY OK source="sources" db=0.2ms idle=113.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:42.005 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:29:42.006 [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 [3284625] 13:29:42.006 [debug] Current batch of media processed. Will check again in 1000ms 13:29:43.006 [debug] Current batch of media processed. Will check again in 1000ms 13:29:44.007 [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" => 15, "timestamp" => 1781568506, "title" => "When Your Computer Gets Hacked Through A Bluetooth Speaker", "upload_date" => "20260616"} 13:29:44.008 [debug] QUERY OK source="sources" db=0.2ms idle=550.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:44.009 [debug] QUERY OK source="sources" db=0.2ms idle=550.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:44.011 [debug] QUERY OK source="media_items" db=1.8ms idle=551.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] 13:29:44.013 [debug] QUERY OK source="media_items" db=1.8ms idle=553.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 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", "e1ef13ff-f8fb-4da5-a6db-ef9ae3f56f66", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", 15, "/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-10-26 18:29:44Z], ~U[2026-10-26 18:29:44Z], "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]] 13:29:44.013 [debug] QUERY OK source="sources" db=0.2ms idle=120.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:44.014 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:29:44.014 [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 [3206020] 13:29:44.014 [debug] Current batch of media processed. Will check again in 1000ms 13:29:45.015 [debug] Current batch of media processed. Will check again in 1000ms 13:29:46.016 [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" => 16, "timestamp" => 1780689201, "title" => "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "upload_date" => "20260605"} 13:29:46.017 [debug] QUERY OK source="sources" db=0.2ms idle=558.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:46.017 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:46.019 [debug] QUERY OK source="media_items" db=1.7ms idle=559.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] 13:29:46.021 [debug] QUERY OK source="media_items" db=1.6ms idle=561.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 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", "e5e4930a-bde6-4829-aefe-61a59585e363", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", 16, "/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-10-26 18:29:46Z], ~U[2026-10-26 18:29:46Z], "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]] 13:29:46.022 [debug] QUERY OK source="sources" db=0.3ms idle=125.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:46.022 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:29:46.023 [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 [3124978] 13:29:46.023 [debug] Current batch of media processed. Will check again in 1000ms 13:29:47.023 [debug] Current batch of media processed. Will check again in 1000ms 13:29:48.024 [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" => 17, "timestamp" => 1780005229, "title" => "Linux Is Too Powerful For Age Check Laws", "upload_date" => "20260528"} 13:29:48.025 [debug] QUERY OK source="sources" db=0.1ms idle=566.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:48.025 [debug] QUERY OK source="sources" db=0.1ms idle=566.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:48.027 [debug] QUERY OK source="media_items" db=1.6ms idle=567.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] 13:29:48.029 [debug] QUERY OK source="media_items" db=1.5ms idle=569.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 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", "80c0ffec-2eee-44c1-9229-de83780f9f3c", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", 17, "/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-10-26 18:29:48Z], ~U[2026-10-26 18:29:48Z], "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]] 13:29:48.029 [debug] QUERY OK source="sources" db=0.1ms idle=131.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:48.030 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:29:48.030 [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 [3063283] 13:29:48.030 [debug] Current batch of media processed. Will check again in 1000ms 13:29:49.031 [debug] Current batch of media processed. Will check again in 1000ms 13:29:50.032 [debug] Current batch of media processed. Will check again in 1000ms 13:29:51.033 [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" => 18, "timestamp" => 1779390068, "title" => "RCE Bug Found in NGINX (With AI Tools)", "upload_date" => "20260521"} 13:29:51.034 [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 (?)) [45] 13:29:51.034 [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" = ?) [45] 13:29:51.036 [debug] QUERY OK source="media_items" db=1.7ms 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-21 19:01:08Z], 45] 13:29:51.040 [debug] QUERY OK source="media_items" db=3.3ms idle=1136.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)", "874d9f8f-8764-45aa-8fb4-c07640c77e6b", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", 18, "/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-10-26 18:29:51Z], ~U[2026-10-26 18:29: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]] 13:29:51.040 [debug] QUERY OK source="sources" db=0.2ms idle=138.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:51.041 [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] 13:29:51.041 [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 [3008138] 13:29:51.041 [debug] Current batch of media processed. Will check again in 1000ms 13:29:52.042 [debug] Current batch of media processed. Will check again in 1000ms 13:29:53.043 [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" => 19, "timestamp" => 1778963904, "title" => "A Hacker Found The BitLocker Backdoor", "upload_date" => "20260516"} 13:29:53.044 [debug] QUERY OK source="sources" db=0.2ms idle=585.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:53.044 [debug] QUERY OK source="sources" db=0.1ms idle=585.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:53.046 [debug] QUERY OK source="media_items" db=1.8ms idle=586.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-16 20:38:24Z], 45] 13:29:53.049 [debug] QUERY OK source="media_items" db=2.0ms idle=588.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", "bd26df09-b2a6-444b-ab31-603d970d0d10", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", 19, "/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-10-26 18:29:53Z], ~U[2026-10-26 18:29:53Z], "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]] 13:29:53.049 [debug] QUERY OK source="sources" db=0.2ms idle=144.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:53.050 [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] 13:29:53.050 [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 [2969802] 13:29:53.050 [debug] Current batch of media processed. Will check again in 1000ms 13:29:54.050 [debug] Current batch of media processed. Will check again in 1000ms 13:29:54.833 [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/76/47/7647b07778f42fad2dde96a4f68ff05dba366611657084473799259892eb6b90.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/d1/bb/d1bbd04ece86cc80718b2f4dd93b83f89f7c1319aaa3aafee7f6132248f84bef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:29:54.833 [debug] Gracefully stopping file follower 13:29:54.834 [debug] QUERY OK source="sources" db=0.1ms idle=927.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:29:54.834 [debug] QUERY OK source="sources" db=0.0ms idle=375.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:54.835 [debug] QUERY OK source="media_items" db=1.3ms idle=375.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 01:04:56Z], 45] 13:29:54.836 [debug] QUERY OK source="media_items" db=0.6ms idle=377.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 the 8 eMudhra certificate authority private keys that used less than 8 bits of entropy and could have allowed hackers to hijack the web traffic of thousands of websites.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "This Company Used The Worst Private Keys Ever", "54ac735f-5b5a-4450-8af3-9f8de319dd82", "09fUpgAlRRU", 684, false, "https://www.youtube.com/watch?v=09fUpgAlRRU", 1, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102400_This Company Used The Worst Private Keys Ever.mp4", false, false, false, 45, [], 98, ~U[2026-10-24 01:04:56Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I discuss the 8 eMudhra certificate authority private keys that used less than 8 bits of entropy and could have allowed hackers to hijack the web traffic of thousands of websites.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "This Company Used The Worst Private Keys Ever", "09fUpgAlRRU", 684, false, "https://www.youtube.com/watch?v=09fUpgAlRRU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102400_This Company Used The Worst Private Keys Ever.mp4", false, 45, ~U[2026-10-24 01:04:56Z]] 13:29:54.837 [debug] QUERY OK source="sources" db=0.1ms idle=378.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 13:29:54.838 [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-10-23 01:04:04Z], 45] 13:29:54.841 [debug] QUERY OK source="media_items" db=2.3ms 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 PHP2Shell Bug which is most severe PHP RCE bug to be discovered this decade, and because of it's poor disclosure process hundreds of websites had to be taken offline while the engineers responsible for their security waited for emergency patches to drop a day earlier than expected.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 PHP Bug That Broke The Internet", "7d6926ef-1aa2-4c85-be38-db8b07fc9e9c", "yQMIxUWse6M", 754, false, "https://www.youtube.com/watch?v=yQMIxUWse6M", 2, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102300_The PHP Bug That Broke The Internet.mp4", false, false, false, 45, [], 98, ~U[2026-10-23 01:04:04Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I discuss the PHP2Shell Bug which is most severe PHP RCE bug to be discovered this decade, and because of it's poor disclosure process hundreds of websites had to be taken offline while the engineers responsible for their security waited for emergency patches to drop a day earlier than expected.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 PHP Bug That Broke The Internet", "yQMIxUWse6M", 754, false, "https://www.youtube.com/watch?v=yQMIxUWse6M", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102300_The PHP Bug That Broke The Internet.mp4", false, 45, ~U[2026-10-23 01:04:04Z]] 13:29:54.841 [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" = ?) [45] 13:29:54.842 [debug] QUERY OK source="media_items" db=1.1ms idle=4.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 23:45:01Z], 45] 13:29:54.843 [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" ["In this video I explain how a zero day vulnerability in Dread's anti DDoS software, along with it's head technical admin accidentally uploading a private key, lead to the sites main onion domain getting hijacked, and the site being taken offline temporarily. I also discuss the hackers attempt to launch their own dark web forum and my opinions on how this could affect the dark web as a whole.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Dark Webs Most Popular Forum Got Hacked", "35f0fa30-c55c-407f-bb60-968b8565b076", "n3_sMAAERwo", 1129, false, "https://www.youtube.com/watch?v=n3_sMAAERwo", 3, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102100_The Dark Webs Most Popular Forum Got Hacked.mp4", false, false, false, 45, [], 98, ~U[2026-10-21 23:45:01Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I explain how a zero day vulnerability in Dread's anti DDoS software, along with it's head technical admin accidentally uploading a private key, lead to the sites main onion domain getting hijacked, and the site being taken offline temporarily. I also discuss the hackers attempt to launch their own dark web forum and my opinions on how this could affect the dark web as a whole.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Dark Webs Most Popular Forum Got Hacked", "n3_sMAAERwo", 1129, false, "https://www.youtube.com/watch?v=n3_sMAAERwo", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102100_The Dark Webs Most Popular Forum Got Hacked.mp4", false, 45, ~U[2026-10-21 23:45:01Z]] 13:29:54.844 [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] 13:29:54.845 [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-10-17 00:12:47Z], 45] 13:29:54.846 [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 Art Craft, with a focus on Photo Craft which is an open source clone of Adobe's Photoshop program that works natively on Linux and FreeBSD at no cost without the need for Wine or other compatibility layers.\n\nTry Art Craft programs yourself\nhttps://getartcraft.com/apps\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Art Craft Cloned Adobe Creative Cloud and Made it Open Source", "baaacf1a-a83d-41f9-9377-75f1e93116d7", "Hr2ARNsKwHA", 619, false, "https://www.youtube.com/watch?v=Hr2ARNsKwHA", 4, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e101700_Art Craft Cloned Adobe Creative Cloud and Made it Open Source.mp4", false, false, false, 45, [], 98, ~U[2026-10-17 00:12:47Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I discuss Art Craft, with a focus on Photo Craft which is an open source clone of Adobe's Photoshop program that works natively on Linux and FreeBSD at no cost without the need for Wine or other compatibility layers.\n\nTry Art Craft programs yourself\nhttps://getartcraft.com/apps\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Art Craft Cloned Adobe Creative Cloud and Made it Open Source", "Hr2ARNsKwHA", 619, false, "https://www.youtube.com/watch?v=Hr2ARNsKwHA", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e101700_Art Craft Cloned Adobe Creative Cloud and Made it Open Source.mp4", false, 45, ~U[2026-10-17 00:12:47Z]] 13:29:54.847 [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] 13:29:54.848 [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-09-27 21:11:26Z], 45] 13:29:54.849 [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 the biggest update to F-Droid in years, better search features and a more modern looking user interface.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "F-Droid 2.0 - The Biggest Update In Years", "afb90e88-37a4-422a-917c-80ba56406b31", "i_T9ARBP3nw", 618, false, "https://www.youtube.com/watch?v=i_T9ARBP3nw", 5, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e092700_F-Droid 2.0 - The Biggest Update In Years.mp4", false, false, false, 45, [], 98, ~U[2026-09-27 21:11:26Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I discuss the biggest update to F-Droid in years, better search features and a more modern looking user interface.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "F-Droid 2.0 - The Biggest Update In Years", "i_T9ARBP3nw", 618, false, "https://www.youtube.com/watch?v=i_T9ARBP3nw", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e092700_F-Droid 2.0 - The Biggest Update In Years.mp4", false, 45, ~U[2026-09-27 21:11:26Z]] 13:29:54.849 [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] 13:29:54.850 [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-09-17 23:17:45Z], 45] 13:29:54.851 [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 review Omarchy OS and some of the agentic workflows you can perform on it. It's an interesting experience and requires little configuration for AI workflows besides signing into accounts or pasting in API keys but there's also several security concerns with it.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Omarchy - The Agentic Linux Desktop", "ef638a26-27d0-4b05-a64c-41157b67a526", "r1TGWAIoWy0", 1793, false, "https://www.youtube.com/watch?v=r1TGWAIoWy0", 6, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091700_Omarchy - The Agentic Linux Desktop.mp4", false, false, false, 45, [], 98, ~U[2026-09-17 23:17:45Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I review Omarchy OS and some of the agentic workflows you can perform on it. It's an interesting experience and requires little configuration for AI workflows besides signing into accounts or pasting in API keys but there's also several security concerns with it.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Omarchy - The Agentic Linux Desktop", "r1TGWAIoWy0", 1793, false, "https://www.youtube.com/watch?v=r1TGWAIoWy0", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091700_Omarchy - The Agentic Linux Desktop.mp4", false, 45, ~U[2026-09-17 23:17:45Z]] 13:29:54.852 [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] 13:29:54.853 [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-09-10 20:06:20Z], 45] 13:29:54.854 [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 easily compromised home security systems can leave you more unsafe than not having it in the first place.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Home Security Gets Hijacked", "43e717c2-0348-410b-96b6-505b3de84d8f", "CGSRA1Wo7AA", 558, false, "https://www.youtube.com/watch?v=CGSRA1Wo7AA", 7, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091000_When Home Security Gets Hijacked.mp4", false, false, false, 45, [], 98, ~U[2026-09-10 20:06:20Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I discuss how easily compromised home security systems can leave you more unsafe than not having it in the first place.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Home Security Gets Hijacked", "CGSRA1Wo7AA", 558, false, "https://www.youtube.com/watch?v=CGSRA1Wo7AA", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091000_When Home Security Gets Hijacked.mp4", false, 45, ~U[2026-09-10 20:06:20Z]] 13:29:54.854 [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] 13:29:54.856 [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-08-29 00:05:32Z], 45] 13:29:54.857 [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 how X (the platform formerly known as twitter) sent cease and desist letters to the operators of nitter.net, xcancel, and other various twitter front end alternatives and claimed that scraping twitter and then serving up posts for people to view on other platforms without X's permission is illegal. At least one Nitter operator is seeking to fight against X's copyright violation claims.\nhttps://poa.st/@graf/posts/B9jPAYjrTmfPW3q9R2\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "X Has Shut Down Nitter", "49ac036c-2296-4e79-81e2-74808423fa0d", "u38-b7E3bSU", 861, false, "https://www.youtube.com/watch?v=u38-b7E3bSU", 8, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082900_X Has Shut Down Nitter.mp4", false, false, false, 45, [], 98, ~U[2026-08-29 00:05:32Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I discuss how X (the platform formerly known as twitter) sent cease and desist letters to the operators of nitter.net, xcancel, and other various twitter front end alternatives and claimed that scraping twitter and then serving up posts for people to view on other platforms without X's permission is illegal. At least one Nitter operator is seeking to fight against X's copyright violation claims.\nhttps://poa.st/@graf/posts/B9jPAYjrTmfPW3q9R2\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "X Has Shut Down Nitter", "u38-b7E3bSU", 861, false, "https://www.youtube.com/watch?v=u38-b7E3bSU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082900_X Has Shut Down Nitter.mp4", false, 45, ~U[2026-08-29 00:05:32Z]] 13:29:54.857 [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] 13:29:54.858 [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-08-22 00:19:30Z], 45] 13:29:54.859 [debug] QUERY OK source="media_items" db=0.6ms 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 different kinds of ad blockers work, including browser based ad blockers and network wide DNS filters.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Ad Blockers Work", "c4fb0869-15b0-4438-baae-c8ab4e63282c", "ddCLuQLMq_8", 841, false, "https://www.youtube.com/watch?v=ddCLuQLMq_8", 9, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082200_How Ad Blockers Work.mp4", false, false, false, 45, [], 98, ~U[2026-08-22 00:19:30Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I discuss how different kinds of ad blockers work, including browser based ad blockers and network wide DNS filters.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Ad Blockers Work", "ddCLuQLMq_8", 841, false, "https://www.youtube.com/watch?v=ddCLuQLMq_8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082200_How Ad Blockers Work.mp4", false, 45, ~U[2026-08-22 00:19:30Z]] 13:29:54.859 [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] 13:29:54.861 [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-08-09 22:18:35Z], 45] 13:29:54.862 [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 how the European Digital Identity program's implementation could make Linux phones, older Android devices, and Android phones with custom ROM's unable to access online services.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "EU's Digital ID is Killing the Open Phone Market", "2571c997-fb29-49cb-9a9d-4d4b7477fee1", "WEHVIofDFJ4", 549, false, "https://www.youtube.com/watch?v=WEHVIofDFJ4", 10, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e080900_EU's Digital ID is Killing the Open Phone Market.mp4", false, false, false, 45, [], 98, ~U[2026-08-09 22:18:35Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I discuss how the European Digital Identity program's implementation could make Linux phones, older Android devices, and Android phones with custom ROM's unable to access online services.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "EU's Digital ID is Killing the Open Phone Market", "WEHVIofDFJ4", 549, false, "https://www.youtube.com/watch?v=WEHVIofDFJ4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e080900_EU's Digital ID is Killing the Open Phone Market.mp4", false, 45, ~U[2026-08-09 22:18:35Z]] 13:29:54.862 [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] 13:29:54.863 [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-07-29 21:31:36Z], 45] 13:29:54.864 [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 different federal agencies are attempting to prosecute people for the use of GrapheneOS features to erase data from their phones and make it more difficult to access.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Government's War On GrapheneOS", "52263aff-b201-451e-a594-0db14c060877", "eDQtUwad5vg", 814, false, "https://www.youtube.com/watch?v=eDQtUwad5vg", 11, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e072900_The Government's War On GrapheneOS.mp4", false, false, false, 45, [], 98, ~U[2026-07-29 21:31:36Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I discuss how different federal agencies are attempting to prosecute people for the use of GrapheneOS features to erase data from their phones and make it more difficult to access.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Government's War On GrapheneOS", "eDQtUwad5vg", 814, false, "https://www.youtube.com/watch?v=eDQtUwad5vg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e072900_The Government's War On GrapheneOS.mp4", false, 45, ~U[2026-07-29 21:31:36Z]] 13:29:54.864 [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] 13:29:54.866 [debug] QUERY OK source="media_items" db=1.2ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-10 01:04:39Z], 45] 13:29:54.867 [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 explain how corporations are crushing the physical media industry to make more money off of consumers, wipe out the 2nd hand movie and games market, and control who is able to watch what where and when.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 End of Physical Media", "946f707b-9e94-497c-980f-0bdc53a30daf", "D_zA3dQtEiQ", 1123, false, "https://www.youtube.com/watch?v=D_zA3dQtEiQ", 12, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e071000_The End of Physical Media.mp4", false, false, false, 45, [], 98, ~U[2026-07-10 01:04:39Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I explain how corporations are crushing the physical media industry to make more money off of consumers, wipe out the 2nd hand movie and games market, and control who is able to watch what where and when.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 End of Physical Media", "D_zA3dQtEiQ", 1123, false, "https://www.youtube.com/watch?v=D_zA3dQtEiQ", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e071000_The End of Physical Media.mp4", false, 45, ~U[2026-07-10 01:04:39Z]] 13:29:54.867 [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] 13:29:54.869 [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-07-03 16:16:14Z], 45] 13:29:54.871 [debug] QUERY OK source="media_items" db=1.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" ["In this video I discuss how police are misusing and abusing automated systems like facial recognition, shot spotter, and automated license plate readers (ALPRs) like Flock to wrongfully charge people with crime and traffic violations.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Police Are Abusing AI Systems", "fefb96b2-dcb3-4f57-9fbb-cdb91321c212", "CDNc68cvaa4", 1109, false, "https://www.youtube.com/watch?v=CDNc68cvaa4", 13, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e070300_How Police Are Abusing AI Systems.mp4", false, false, false, 45, [], 98, ~U[2026-07-03 16:16:14Z], ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "In this video I discuss how police are misusing and abusing automated systems like facial recognition, shot spotter, and automated license plate readers (ALPRs) like Flock to wrongfully charge people with crime and traffic violations.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Police Are Abusing AI Systems", "CDNc68cvaa4", 1109, false, "https://www.youtube.com/watch?v=CDNc68cvaa4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e070300_How Police Are Abusing AI Systems.mp4", false, 45, ~U[2026-07-03 16:16:14Z]] 13:29:54.871 [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" = ?) [45] 13:29:54.872 [debug] QUERY OK source="media_items" db=1.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-06-25 23:30:42Z], 45] 13:29:54.873 [debug] QUERY OK source="media_items" db=0.6ms 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 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", "f2ac7334-5c04-4826-b949-f976ced90df8", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", 14, "/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-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "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]] 13:29:54.874 [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] 13:29:54.875 [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-06-16 00:08:26Z], 45] 13:29:54.876 [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 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", "027d7436-f4f7-4a96-9794-dfc405525c5b", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", 15, "/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-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "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]] 13:29:54.876 [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] 13:29:54.878 [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-06-05 19:53:21Z], 45] 13:29:54.879 [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", "c0f838b3-1c51-4f31-ad2a-b439f5667b7d", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", 16, "/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-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "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]] 13:29:54.879 [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] 13:29:54.880 [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] 13:29:54.881 [debug] QUERY OK source="media_items" db=0.6ms 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 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", "fe0617b8-a604-419c-bffd-ae4484831c9e", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", 17, "/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-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "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]] 13:29:54.881 [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] 13:29:54.883 [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-21 19:01:08Z], 45] 13:29:54.884 [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" ["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)", "4d459a59-d84d-47b9-bb2f-469e5d8b2c99", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", 18, "/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-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "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]] 13:29:54.884 [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] 13:29:54.885 [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-16 20:38:24Z], 45] 13:29:54.886 [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 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", "da120aba-69fa-407e-ab10-3256410f294f", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", 19, "/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-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "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]] 13:29:54.887 [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] 13:29:54.888 [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-13 22:13:28Z], 45] 13:29:54.889 [debug] QUERY OK source="media_items" db=1.2ms 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 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", "01ad742e-d553-405b-aa7e-027d37da5b46", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", 20, "/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-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], "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]] 13:29:54.890 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z], 45] 13:29:54.891 [debug] QUERY OK source="media_items" db=1.2ms idle=3.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [45] 13:29:54.892 [debug] QUERY OK source="media_items" db=1.3ms idle=4.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")))) [45] 13:29:54.893 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [45] 13:29:54.894 [debug] QUERY OK source="tasks" db=0.2ms idle=3.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541517, 45, ~U[2026-10-26 18:29:54Z], ~U[2026-10-26 18:29:54Z]] 13:29:54.895 [info] {"args":{"id":45},"id":541414,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":47039565,"event":"job:stop","queue_time":300351,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:29:59.656 [info] {"source":"oban","duration":9699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.244 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:30:26.948 [info] {"args":{"id":1367756},"id":540362,"meta":{},"system_time":1793039426948649097,"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"]} 13:30:26.949 [debug] QUERY OK source="media_items" db=0.2ms idle=1008.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" = ?) [1367756] 13:30:26.949 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:30:26.949 [debug] QUERY OK source="sources" db=0.2ms idle=490.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:30:26.950 [debug] QUERY OK source="media_profiles" db=0.7ms idle=491.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:30:26.951 [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 [1367756] 13:30:26.952 [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" = ?) [1367756] 13:30:26.952 [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] 13:30:26.953 [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 [] 13:30:26.953 [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 [] 13:30:26.953 [debug] Running yt-dlp command for action: get_downloadable_status 13:30:26.956 [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 [] 13:30:26.956 [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 [] 13:30:26.956 [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 [] 13:30:26.956 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OXqB3hbzsIM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/91/12/911266970cf4660ded7e1e2875841b9c4074925b095be209c17036deb078f667.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:30:28.946 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=OXqB3hbzsIM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/91/12/911266970cf4660ded7e1e2875841b9c4074925b095be209c17036deb078f667.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] OXqB3hbzsIM: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:30:28.946 [error] yt-dlp download error for media item #1367756: "ERROR: [youtube] OXqB3hbzsIM: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:30:28.947 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1367756},"id":540362,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1998264,"event":"job:exception","queue_time":379113,"attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:30:29.666 [info] {"source":"oban","duration":9887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:59.676 [info] {"source":"oban","duration":9244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:00.245 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:31:29.683 [info] {"source":"oban","duration":5708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:51.407 [info] GET /sources/32/media/3637101 13:31:51.407 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3637101", "source_id" => "32"} Pipelines: [:browser] 13:31:51.407 [debug] QUERY OK source="media_items" db=0.1ms idle=1948.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" = ?) [3637101] 13:31:51.408 [debug] QUERY OK source="tasks" db=0.1ms idle=1949.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" [3637101] 13:31:51.408 [debug] QUERY OK source="sources" db=0.3ms idle=1949.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:31:51.408 [debug] QUERY OK source="settings" db=0.1ms idle=1368.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:51.409 [debug] QUERY OK source="settings" db=0.1ms idle=367.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:51.409 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:51.410 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:31:51.411 [info] Sent 200 in 4ms 13:31:55.760 [info] GET /sources/37/media/382016 13:31:55.760 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "382016", "source_id" => "37"} Pipelines: [:browser] 13:31:55.761 [debug] QUERY OK source="media_items" db=0.2ms idle=1302.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" = ?) [382016] 13:31:55.761 [debug] QUERY OK source="sources" db=0.2ms idle=1302.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:31:55.762 [debug] QUERY OK source="tasks" db=0.9ms idle=1302.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" [382016] 13:31:55.762 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1303.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 (?,?,?,?)) [482642, 492215, 515652, 538563] 13:31:55.763 [debug] QUERY OK source="settings" db=0.0ms idle=716.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:55.763 [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 [] 13:31:55.764 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:55.764 [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] 13:31:55.765 [info] Sent 200 in 5ms 13:31:59.693 [info] {"source":"oban","duration":9735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.246 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:32:06.069 [info] {"args":{"id":30},"id":541465,"meta":{},"system_time":1793039526069174507,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:32:06.070 [debug] QUERY OK source="sources" db=0.7ms idle=610.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:06.070 [debug] QUERY OK source="settings" db=0.2ms idle=611.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:06.076 [debug] QUERY OK source="media_items" db=5.9ms idle=612.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")))) [30] 13:32:06.078 [debug] QUERY OK source="media_items" db=0.9ms idle=15.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 13:32:06.078 [debug] QUERY OK source="media_profiles" db=0.0ms idle=8.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] 13:32:06.078 [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 [] 13:32:06.078 [debug] QUERY OK source="settings" db=0.0ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:06.091 [debug] QUERY OK source="media_items" db=4.8ms idle=10.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [30] 13:32:06.093 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:32:06.093 [debug] Current batch of media processed. Will check again in 1000ms 13:32:06.093 [debug] QUERY OK source="settings" db=0.1ms idle=15.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:06.093 [debug] QUERY OK source="settings" db=0.0ms idle=15.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:06.094 [debug] QUERY OK source="settings" db=0.0ms idle=15.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:06.094 [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/13/91/13913ccbadfacbb160a38e2e5357eabc6a63f2cb1a6905839d711a9929705273.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/0a/b3/0ab36b26d68b104ef92c4b809910b9928da53f51c6318aec4a1aa3d151535329.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:07.094 [debug] Current batch of media processed. Will check again in 1000ms 13:32:08.095 [debug] Current batch of media processed. Will check again in 1000ms 13:32:09.096 [debug] Current batch of media processed. Will check again in 1000ms 13:32:10.097 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 878, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", "id" => "g6PtJ0ZOCp8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "playlist_index" => 1, "timestamp" => 1793032225, "title" => "The Future Of Linux Gaming Is Bright", "upload_date" => "20261026"} 13:32:10.098 [debug] QUERY OK source="sources" db=0.2ms idle=639.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:10.098 [debug] QUERY OK source="sources" db=0.1ms idle=639.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:10.104 [debug] QUERY OK source="media_items" db=5.2ms idle=640.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 16:30:25Z], 30] 13:32:10.105 [debug] QUERY OK source="media_items" db=1.3ms idle=645.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" ["Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "3cfb5b2b-9e29-483b-b5d5-b95ca76acf42", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, false, false, 30, [], 98, ~U[2026-10-26 16:30:25Z], ~U[2026-10-26 18:32:10Z], ~U[2026-10-26 18:32:10Z], "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, 30, ~U[2026-10-26 16:30:25Z]] 13:32:10.106 [debug] QUERY OK source="sources" db=0.1ms idle=39.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:10.107 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 13:32:10.107 [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 [4246141] 13:32:10.107 [debug] Current batch of media processed. Will check again in 1000ms 13:32:11.108 [debug] Current batch of media processed. Will check again in 1000ms 13:32:12.109 [debug] Current batch of media processed. Will check again in 1000ms 13:32:13.110 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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" => 857, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", "id" => "B28eZ7BHRYE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=B28eZ7BHRYE", "playlist_index" => 2, "timestamp" => 1792945823, "title" => "Arch Linux's AUR Keeps Getting Hit With Malware", "upload_date" => "20261025"} 13:32:13.111 [debug] QUERY OK source="sources" db=0.2ms idle=1652.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:13.111 [debug] QUERY OK source="sources" db=0.1ms idle=1653.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:13.116 [debug] QUERY OK source="media_items" db=4.7ms idle=1653.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-25 16:30:23Z], 30] 13:32:13.118 [debug] QUERY OK source="media_items" db=1.2ms idle=1047.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" ["Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "6fd11f1f-819b-4847-8a3b-b36305648562", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, false, false, 30, [], 98, ~U[2026-10-25 16:30:23Z], ~U[2026-10-26 18:32:13Z], ~U[2026-10-26 18:32:13Z], "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, 30, ~U[2026-10-25 16:30:23Z]] 13:32:13.118 [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" = ?) [30] 13:32:13.119 [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] 13:32:13.119 [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 [4238259] 13:32:13.119 [debug] Current batch of media processed. Will check again in 1000ms 13:32:14.119 [debug] Current batch of media processed. Will check again in 1000ms 13:32:15.120 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1655, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", "id" => "ObKIuIzFzYs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ObKIuIzFzYs", "playlist_index" => 3, "timestamp" => 1792859431, "title" => "2026 Linux Maintainers Summit Was All About AI", "upload_date" => "20261024"} 13:32:15.121 [debug] QUERY OK source="sources" db=0.3ms idle=662.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:15.122 [debug] QUERY OK source="sources" db=0.2ms idle=663.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:15.128 [debug] QUERY OK source="media_items" db=6.3ms idle=663.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 16:30:31Z], 30] 13:32:15.130 [debug] QUERY OK source="media_items" db=1.4ms idle=670.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" ["As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "fe31b3d2-e06b-4f79-b211-6d9f50331bd0", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-24 16:30:31Z], ~U[2026-10-26 18:32:15Z], ~U[2026-10-26 18:32:15Z], "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, 30, ~U[2026-10-24 16:30:31Z]] 13:32:15.130 [debug] QUERY OK source="sources" db=0.2ms idle=57.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:15.131 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:15.131 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4230255] 13:32:15.131 [debug] Current batch of media processed. Will check again in 1000ms 13:32:16.132 [debug] Current batch of media processed. Will check again in 1000ms 13:32:17.133 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 661, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", "id" => "tOhtcCHEcks", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tOhtcCHEcks", "playlist_index" => 4, "timestamp" => 1792686606, "title" => "Steam Finally Went 64 Bit On Linux", "upload_date" => "20261022"} 13:32:17.134 [debug] QUERY OK source="sources" db=0.1ms idle=675.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:17.134 [debug] QUERY OK source="sources" db=0.1ms idle=675.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:17.139 [debug] QUERY OK source="media_items" db=4.7ms idle=675.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 16:30:06Z], 30] 13:32:17.140 [debug] QUERY OK source="media_items" db=0.9ms idle=680.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" ["After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "1e93617d-0ec3-4a88-8b58-3c95fcd4f8fa", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, false, false, 30, [], 98, ~U[2026-10-22 16:30:06Z], ~U[2026-10-26 18:32:17Z], ~U[2026-10-26 18:32:17Z], "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, 30, ~U[2026-10-22 16:30:06Z]] 13:32:17.141 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:17.141 [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] 13:32:17.141 [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 [4214594] 13:32:17.141 [debug] Current batch of media processed. Will check again in 1000ms 13:32:18.142 [debug] Current batch of media processed. Will check again in 1000ms 13:32:19.143 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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" => 1233, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", "id" => "lBCWjJslSc8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lBCWjJslSc8", "playlist_index" => 5, "timestamp" => 1792600228, "title" => "Linux Kernel Just Abandoned AI Disclosure", "upload_date" => "20261021"} 13:32:19.144 [debug] QUERY OK source="sources" db=0.2ms idle=685.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:19.145 [debug] QUERY OK source="sources" db=0.1ms idle=686.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:19.151 [debug] QUERY OK source="media_items" db=6.1ms idle=686.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 16:30:28Z], 30] 13:32:19.153 [debug] QUERY OK source="media_items" db=1.3ms idle=693.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 a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "98e710e7-68cd-4819-a960-58ec9270bed2", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, false, false, 30, [], 98, ~U[2026-10-21 16:30:28Z], ~U[2026-10-26 18:32:19Z], ~U[2026-10-26 18:32:19Z], "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, 30, ~U[2026-10-21 16:30:28Z]] 13:32:19.153 [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] 13:32:19.154 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:19.154 [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 [4206623] 13:32:19.154 [debug] Current batch of media processed. Will check again in 1000ms 13:32:20.155 [debug] Current batch of media processed. Will check again in 1000ms 13:32:21.156 [debug] Current batch of media processed. Will check again in 1000ms 13:32:22.157 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1095, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", "id" => "3Xi7m0CYk5s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "playlist_index" => 6, "timestamp" => 1792513813, "title" => "Fortnite On Linux Changes Everything For Linux Gaming", "upload_date" => "20261020"} 13:32:22.158 [debug] QUERY OK source="sources" db=0.2ms idle=1699.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:22.159 [debug] QUERY OK source="sources" db=0.1ms idle=1700.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:22.165 [debug] QUERY OK source="media_items" db=5.9ms idle=1700.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-20 16:30:13Z], 30] 13:32:22.167 [debug] QUERY OK source="media_items" db=1.4ms idle=1083.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" ["Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "f718fd9c-347e-4a5f-98bb-261bf33fa285", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, false, false, 30, [], 98, ~U[2026-10-20 16:30:13Z], ~U[2026-10-26 18:32:22Z], ~U[2026-10-26 18:32:22Z], "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, 30, ~U[2026-10-20 16:30:13Z]] 13:32:22.167 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [30] 13:32:22.167 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:22.168 [debug] QUERY OK source="media_items" db=0.3ms 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 [4198751] 13:32:22.168 [debug] Current batch of media processed. Will check again in 1000ms 13:32:23.169 [debug] Current batch of media processed. Will check again in 1000ms 13:32:24.170 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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" => 1215, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", "id" => "tnwm-zjkHcE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tnwm-zjkHcE", "playlist_index" => 7, "timestamp" => 1792427421, "title" => "Those Who Built Open Source", "upload_date" => "20261019"} 13:32:24.171 [debug] QUERY OK source="sources" db=0.2ms 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] 13:32:24.172 [debug] QUERY OK source="sources" db=0.1ms idle=713.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:24.178 [debug] QUERY OK source="media_items" db=6.3ms idle=713.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 16:30:21Z], 30] 13:32:24.180 [debug] QUERY OK source="media_items" db=1.2ms idle=720.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" ["So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "70cb8efd-0b1f-42b6-ac32-04cced9c5a0c", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, false, false, 30, [], 98, ~U[2026-10-19 16:30:21Z], ~U[2026-10-26 18:32:24Z], ~U[2026-10-26 18:32:24Z], "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, 30, ~U[2026-10-19 16:30:21Z]] 13:32:24.180 [debug] QUERY OK source="sources" db=0.2ms idle=94.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:24.181 [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] 13:32:24.181 [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 [4190952] 13:32:24.181 [debug] Current batch of media processed. Will check again in 1000ms 13:32:25.182 [debug] Current batch of media processed. Will check again in 1000ms 13:32:26.183 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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" => 902, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", "id" => "k7aFcpRduxU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=k7aFcpRduxU", "playlist_index" => 8, "timestamp" => 1792341036, "title" => "Gentoo Needs Your Help", "upload_date" => "20261018"} 13:32:26.184 [debug] QUERY OK source="sources" db=0.5ms idle=725.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:26.185 [debug] QUERY OK source="sources" db=0.1ms idle=726.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:26.190 [debug] QUERY OK source="media_items" db=4.9ms idle=726.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-18 16:30:36Z], 30] 13:32:26.192 [debug] QUERY OK source="media_items" db=1.3ms idle=731.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" ["Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "c08c2a8b-eb1c-4808-8415-9c16157b1741", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-10-18 16:30:36Z], ~U[2026-10-26 18:32:26Z], ~U[2026-10-26 18:32:26Z], "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, 30, ~U[2026-10-18 16:30:36Z]] 13:32:26.192 [debug] QUERY OK source="sources" db=0.1ms idle=102.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:26.192 [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] 13:32:26.193 [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 [4182968] 13:32:26.193 [debug] Current batch of media processed. Will check again in 1000ms 13:32:27.193 [debug] Current batch of media processed. Will check again in 1000ms 13:32:28.194 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1047, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", "id" => "cxbtnPAL8Z8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "playlist_index" => 9, "timestamp" => 1792254608, "title" => "Gitea Is Not Suitable For Gitea", "upload_date" => "20261017"} 13:32:28.195 [debug] QUERY OK source="sources" db=0.2ms idle=736.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:28.195 [debug] QUERY OK source="sources" db=0.1ms idle=736.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:28.201 [debug] QUERY OK source="media_items" db=5.5ms idle=737.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-17 16:30:08Z], 30] 13:32:28.205 [debug] QUERY OK source="media_items" db=3.3ms idle=743.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" ["If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "9ab5f5c0-f8d5-4fd1-8227-7a0620d86251", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, false, false, 30, [], 98, ~U[2026-10-17 16:30:08Z], ~U[2026-10-26 18:32:28Z], ~U[2026-10-26 18:32:28Z], "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, 30, ~U[2026-10-17 16:30:08Z]] 13:32:28.205 [debug] QUERY OK source="sources" db=0.1ms idle=113.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:28.205 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:28.206 [debug] QUERY OK source="media_items" db=0.1ms idle=10.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4175011] 13:32:28.206 [debug] Current batch of media processed. Will check again in 1000ms 13:32:29.206 [debug] Current batch of media processed. Will check again in 1000ms 13:32:29.703 [info] {"source":"oban","duration":9728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:30.207 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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" => 1126, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", "id" => "Gn1n4CuKccI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Gn1n4CuKccI", "playlist_index" => 10, "timestamp" => 1792081827, "title" => "I Guess MacOS Isn't \"Unix\" Anymore", "upload_date" => "20261015"} 13:32:30.208 [debug] QUERY OK source="sources" db=0.3ms idle=749.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:30.209 [debug] QUERY OK source="sources" db=0.2ms idle=750.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:30.215 [debug] QUERY OK source="media_items" db=6.2ms idle=750.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 16:30:27Z], 30] 13:32:30.217 [debug] QUERY OK source="media_items" db=1.3ms idle=512.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" ["Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "4148557c-0958-4145-97df-02b28f304ad6", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, false, false, 30, [], 98, ~U[2026-10-15 16:30:27Z], ~U[2026-10-26 18:32:30Z], ~U[2026-10-26 18:32:30Z], "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, 30, ~U[2026-10-15 16:30:27Z]] 13:32:30.217 [debug] QUERY OK source="sources" db=0.2ms idle=122.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:30.218 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:30.218 [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 [4159190] 13:32:30.218 [debug] Current batch of media processed. Will check again in 1000ms 13:32:31.219 [debug] Current batch of media processed. Will check again in 1000ms 13:32:32.220 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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" => 836, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", "id" => "QeXNWDv1JGE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QeXNWDv1JGE", "playlist_index" => 11, "timestamp" => 1791995414, "title" => "The JPEG XL Saga Is Finally Over", "upload_date" => "20261014"} 13:32:32.221 [debug] QUERY OK source="sources" db=0.2ms idle=762.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:32.221 [debug] QUERY OK source="sources" db=0.2ms idle=763.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:32.228 [debug] QUERY OK source="media_items" db=6.1ms idle=763.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 16:30:14Z], 30] 13:32:32.230 [debug] QUERY OK source="media_items" db=1.4ms idle=769.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" ["Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "5260c082-844a-45d4-b34d-67da0b38ace3", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, false, false, 30, [], 98, ~U[2026-10-14 16:30:14Z], ~U[2026-10-26 18:32:32Z], ~U[2026-10-26 18:32:32Z], "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, 30, ~U[2026-10-14 16:30:14Z]] 13:32:32.230 [debug] QUERY OK source="sources" db=0.2ms idle=132.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:32.231 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:32:32.232 [debug] QUERY OK source="media_items" db=0.7ms 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 [4151358] 13:32:32.232 [debug] Current batch of media processed. Will check again in 1000ms 13:32:33.232 [debug] Current batch of media processed. Will check again in 1000ms 13:32:34.233 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1071, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", "id" => "_pojeQDbt5Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_pojeQDbt5Q", "playlist_index" => 12, "timestamp" => 1791909021, "title" => "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "upload_date" => "20261013"} 13:32:34.234 [debug] QUERY OK source="sources" db=0.2ms idle=775.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:34.234 [debug] QUERY OK source="sources" db=0.1ms idle=775.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:34.241 [debug] QUERY OK source="media_items" db=5.9ms idle=776.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 16:30:21Z], 30] 13:32:34.242 [debug] QUERY OK source="media_items" db=1.4ms idle=782.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" ["There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "192df9c9-bab8-45d7-8f1d-06cf014abd38", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, false, false, 30, [], 98, ~U[2026-10-13 16:30:21Z], ~U[2026-10-26 18:32:34Z], ~U[2026-10-26 18:32:34Z], "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, 30, ~U[2026-10-13 16:30:21Z]] 13:32:34.243 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [30] 13:32:34.243 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.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] 13:32:34.244 [debug] QUERY OK source="media_items" db=0.2ms 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 [4143528] 13:32:34.244 [debug] Current batch of media processed. Will check again in 1000ms 13:32:35.244 [debug] Current batch of media processed. Will check again in 1000ms 13:32:36.245 [debug] Current batch of media processed. Will check again in 1000ms 13:32:37.246 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 782, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", "id" => "kUxDwtlnO_Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "playlist_index" => 13, "timestamp" => 1791822640, "title" => "A New Approach To An Ancient Linux Terminal Problem", "upload_date" => "20261012"} 13:32:37.247 [debug] QUERY OK source="sources" db=0.3ms idle=1788.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:37.248 [debug] QUERY OK source="sources" db=0.2ms idle=1789.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:37.254 [debug] QUERY OK source="media_items" db=6.0ms idle=1789.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 16:30:40Z], 30] 13:32:37.256 [debug] QUERY OK source="media_items" db=1.4ms idle=1150.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" ["For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "bc21ea58-4981-4315-b009-4a757116b375", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, false, false, 30, [], 98, ~U[2026-10-12 16:30:40Z], ~U[2026-10-26 18:32:37Z], ~U[2026-10-26 18:32:37Z], "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, 30, ~U[2026-10-12 16:30:40Z]] 13:32:37.256 [debug] QUERY OK source="sources" db=0.2ms idle=151.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:37.257 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:37.257 [debug] QUERY OK source="media_items" db=0.3ms 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 [4135585] 13:32:37.257 [debug] Current batch of media processed. Will check again in 1000ms 13:32:38.258 [debug] Current batch of media processed. Will check again in 1000ms 13:32:39.259 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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" => 910, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", "id" => "SNInG2vGTvE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SNInG2vGTvE", "playlist_index" => 14, "timestamp" => 1791736225, "title" => "X11 Has Better Latency Than Wayland... Technically", "upload_date" => "20261011"} 13:32:39.260 [debug] QUERY OK source="sources" db=0.2ms idle=801.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:39.260 [debug] QUERY OK source="sources" db=0.2ms idle=801.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:39.267 [debug] QUERY OK source="media_items" db=6.0ms idle=802.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-11 16:30:25Z], 30] 13:32:39.269 [debug] QUERY OK source="media_items" db=1.7ms idle=808.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" ["Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "a873588a-6bd7-4f67-a413-0199c8b7067b", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, false, false, 30, [], 98, ~U[2026-10-11 16:30:25Z], ~U[2026-10-26 18:32:39Z], ~U[2026-10-26 18:32:39Z], "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, 30, ~U[2026-10-11 16:30:25Z]] 13:32:39.269 [debug] QUERY OK source="sources" db=0.2ms idle=161.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:39.270 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:32:39.270 [debug] QUERY OK source="media_items" db=0.3ms 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 [4127723] 13:32:39.270 [debug] Current batch of media processed. Will check again in 1000ms 13:32:40.271 [debug] Current batch of media processed. Will check again in 1000ms 13:32:41.272 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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" => 726, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", "id" => "_3ir-4jfwVg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_3ir-4jfwVg", "playlist_index" => 15, "timestamp" => 1791649806, "title" => "Systemd Wants To Centralize Tracking Your Apps", "upload_date" => "20261010"} 13:32:41.273 [debug] QUERY OK source="sources" db=0.2ms idle=814.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 13:32:41.273 [debug] QUERY OK source="sources" db=0.1ms idle=815.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:41.280 [debug] QUERY OK source="media_items" db=6.1ms idle=815.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-10 16:30:06Z], 30] 13:32:41.282 [debug] QUERY OK source="media_items" db=1.3ms idle=822.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" ["Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "4fbb5ce1-e719-4af6-ba8e-2627d4d7b9cd", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-10 16:30:06Z], ~U[2026-10-26 18:32:41Z], ~U[2026-10-26 18:32:41Z], "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, 30, ~U[2026-10-10 16:30:06Z]] 13:32:41.282 [debug] QUERY OK source="sources" db=0.2ms idle=171.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:41.283 [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] 13:32:41.283 [debug] QUERY OK source="media_items" db=0.3ms 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 [4121430] 13:32:41.283 [debug] Current batch of media processed. Will check again in 1000ms 13:32:42.284 [debug] Current batch of media processed. Will check again in 1000ms 13:32:43.285 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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" => 810, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", "id" => "qWyUF_vMUWM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qWyUF_vMUWM", "playlist_index" => 16, "timestamp" => 1791477008, "title" => "Where Do The Linux Desktops Stand On AI", "upload_date" => "20261008"} 13:32:43.286 [debug] QUERY OK source="sources" db=0.2ms idle=827.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:43.286 [debug] QUERY OK source="sources" db=0.2ms idle=827.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:43.292 [debug] QUERY OK source="media_items" db=5.8ms idle=828.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-08 16:30:08Z], 30] 13:32:43.295 [debug] QUERY OK source="media_items" db=1.6ms 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" ["Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "c9c8940d-50b3-4c26-b7d6-90f5c99d40cb", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-08 16:30:08Z], ~U[2026-10-26 18:32:43Z], ~U[2026-10-26 18:32:43Z], "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, 30, ~U[2026-10-08 16:30:08Z]] 13:32:43.295 [debug] QUERY OK source="sources" db=0.2ms idle=180.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:43.295 [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] 13:32:43.296 [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 [4105704] 13:32:43.296 [debug] Current batch of media processed. Will check again in 1000ms 13:32:44.297 [debug] Current batch of media processed. Will check again in 1000ms 13:32:45.298 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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" => 1091, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", "id" => "47cECizg0mo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=47cECizg0mo", "playlist_index" => 17, "timestamp" => 1791390615, "title" => "Flathub Unbanned AI And No One Noticed", "upload_date" => "20261007"} 13:32:45.299 [debug] QUERY OK source="sources" db=0.2ms idle=840.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:45.299 [debug] QUERY OK source="sources" db=0.2ms idle=840.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:45.306 [debug] QUERY OK source="media_items" db=6.0ms idle=841.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-07 16:30:15Z], 30] 13:32:45.307 [debug] QUERY OK source="media_items" db=1.3ms idle=847.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" ["Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "f7a45aa6-a53e-4ec2-be03-763fbe8b05b1", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, false, false, 30, [], 98, ~U[2026-10-07 16:30:15Z], ~U[2026-10-26 18:32:45Z], ~U[2026-10-26 18:32:45Z], "Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, 30, ~U[2026-10-07 16:30:15Z]] 13:32:45.308 [debug] QUERY OK source="sources" db=0.2ms idle=190.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:45.308 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:45.309 [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 [4097854] 13:32:45.309 [debug] Current batch of media processed. Will check again in 1000ms 13:32:46.309 [debug] Current batch of media processed. Will check again in 1000ms 13:32:47.127 [info] {"args":{"id":52},"id":541514,"meta":{},"system_time":1793039567127530374,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:47.128 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:32:47.128 [debug] QUERY OK source="settings" db=0.1ms idle=669.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:47.128 [debug] QUERY OK source="media_profiles" db=0.1ms idle=669.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] 13:32:47.128 [debug] QUERY OK source="settings" db=0.2ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:47.128 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 13:32:47.310 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 681, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", "id" => "fz7m96PKVmY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fz7m96PKVmY", "playlist_index" => 18, "timestamp" => 1791304217, "title" => "This Company Tried To Destroy An Open Source Project", "upload_date" => "20261006"} 13:32:47.311 [debug] QUERY OK source="sources" db=0.2ms idle=183.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:47.311 [debug] QUERY OK source="sources" db=0.2ms idle=183.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:47.318 [debug] QUERY OK source="media_items" db=5.9ms idle=183.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-06 16:30:17Z], 30] 13:32:47.320 [debug] QUERY OK source="media_items" db=1.5ms idle=189.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" ["What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "d73252d0-d912-4ee6-9044-beea462ba074", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, false, false, 30, [], 98, ~U[2026-10-06 16:30:17Z], ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z], "What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, 30, ~U[2026-10-06 16:30:17Z]] 13:32:47.320 [debug] QUERY OK source="sources" db=0.1ms idle=191.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:47.320 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:47.321 [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 [4089996] 13:32:47.321 [debug] Current batch of media processed. Will check again in 1000ms 13:32:47.328 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 13:32:47.329 [debug] QUERY OK source="media_items" db=0.8ms idle=10.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 13:32:47.330 [debug] QUERY OK source="media_items" db=0.6ms idle=10.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] 13:32:47.333 [debug] QUERY OK source="tasks" db=0.2ms idle=12.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541518, 1301334, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.336 [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" [541519, 1301335, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.339 [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" [541520, 1301347, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.340 [info] {"args":{"id":1301334},"id":541518,"meta":{},"system_time":1793039567340826069,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:47.340 [info] {"args":{"id":1301335},"id":541519,"meta":{},"system_time":1793039567340870786,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:47.341 [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" = ?) [1301335] 13:32:47.341 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:47.342 [debug] QUERY OK source="media_items" db=1.0ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 13:32:47.342 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:47.342 [debug] QUERY OK source="sources" db=0.4ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:32:47.342 [debug] QUERY OK source="sources" db=0.4ms 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] 13:32:47.344 [debug] QUERY OK source="media_profiles" db=1.8ms 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] 13:32:47.344 [debug] QUERY OK source="media_profiles" db=0.3ms queue=1.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] 13:32:47.344 [debug] QUERY OK source="media_items" db=0.3ms 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 [1301335] 13:32:47.345 [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" [541521, 1301392, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.345 [debug] QUERY OK source="media_items" db=0.4ms 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] 13:32:47.350 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.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" = ?) [1301335] 13:32:47.350 [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] 13:32:47.350 [debug] QUERY OK source="settings" db=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:47.351 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:47.354 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:47.354 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301334] 13:32:47.354 [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] 13:32:47.354 [debug] QUERY OK source="settings" db=0.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:47.355 [debug] QUERY OK source="settings" db=0.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:47.356 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:47.356 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:47.356 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:47.357 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:47.357 [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/52/c4/52c40d155b4d360fba5514d6f43137a712647fd7f54540fced9c5c3289f67afc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:47.357 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:47.358 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:47.358 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:47.358 [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/e3/4c/e34c873bda74aef4898df98ab67a126c2c7d17260615526f5791e57db27b5b25.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:47.362 [debug] QUERY OK source="tasks" db=14.4ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541522, 1301393, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.369 [debug] QUERY OK source="tasks" db=0.2ms idle=11.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541523, 1301394, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.372 [debug] QUERY OK source="tasks" db=0.3ms idle=7.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541524, 1301395, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.376 [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" [541525, 1301397, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.379 [debug] QUERY OK source="tasks" db=0.3ms idle=3.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541526, 1301398, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.382 [debug] QUERY OK source="tasks" db=0.3ms idle=3.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541527, 1301399, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.385 [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" [541528, 1301400, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.388 [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" [541529, 2720968, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.391 [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" [541530, 3440530, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.394 [debug] QUERY OK source="tasks" db=0.7ms idle=3.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541531, 3675707, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.395 [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" [541532, 52, ~U[2026-10-26 18:32:47Z], ~U[2026-10-26 18:32:47Z]] 13:32:47.395 [info] {"args":{"id":52},"id":541514,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":268124,"event":"job:stop","queue_time":406995,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:48.321 [debug] Current batch of media processed. Will check again in 1000ms 13:32:49.322 [debug] Current batch of media processed. Will check again in 1000ms 13:32:49.345 [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/e3/4c/e34c873bda74aef4898df98ab67a126c2c7d17260615526f5791e57db27b5b25.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. 13:32:49.345 [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" 13:32:49.345 [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" 13:32:49.346 [info] {"args":{"id":1301334},"id":541518,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2005008,"event":"job:stop","queue_time":339502,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:49.352 [info] {"args":{"id":1301347},"id":541520,"meta":{},"system_time":1793039569352149349,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:49.352 [debug] QUERY OK source="media_items" db=0.2ms idle=893.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] 13:32:49.352 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:49.353 [debug] QUERY OK source="sources" db=0.1ms idle=894.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:49.353 [debug] QUERY OK source="media_profiles" db=0.1ms idle=229.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] 13:32:49.353 [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] 13:32:49.354 [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" = ?) [1301347] 13:32:49.354 [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] 13:32:49.354 [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 [] 13:32:49.354 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:49.355 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:49.356 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:49.356 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:49.356 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:49.356 [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/e9/eb/e9ebc0b42c3d417d54ab11abd60d64513d416bf344b017cb964d7bdc897d1797.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:49.490 [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/52/c4/52c40d155b4d360fba5514d6f43137a712647fd7f54540fced9c5c3289f67afc.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. 13:32:49.490 [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" 13:32:49.490 [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" 13:32:49.491 [info] {"args":{"id":1301335},"id":541519,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2149890,"event":"job:stop","queue_time":339502,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:49.497 [info] {"args":{"id":1301392},"id":541521,"meta":{},"system_time":1793039569497139916,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:49.497 [debug] QUERY OK source="media_items" db=0.1ms idle=141.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] 13:32:49.497 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:49.498 [debug] QUERY OK source="sources" db=0.1ms idle=141.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:49.498 [debug] QUERY OK source="media_profiles" db=0.1ms idle=141.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:49.498 [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 [1301392] 13:32:49.499 [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" = ?) [1301392] 13:32:49.499 [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] 13:32:49.500 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:49.500 [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 [] 13:32:49.500 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:49.501 [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 [] 13:32:49.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 [] 13:32:49.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 [] 13:32:49.501 [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/bb/bc/bbbc4de822b4767df7c1d8193c5982f4984c413be199d45650ffbee2b22895f4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:50.323 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1278, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", "id" => "wQJG8Gy2VeI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wQJG8Gy2VeI", "playlist_index" => 19, "timestamp" => 1791217824, "title" => "Immutable Linux Distros Have A Big Problem With Apps", "upload_date" => "20261005"} 13:32:50.324 [debug] QUERY OK source="sources" db=0.2ms idle=823.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:32:50.324 [debug] QUERY OK source="sources" db=0.2ms idle=823.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:50.330 [debug] QUERY OK source="media_items" db=5.9ms idle=823.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-05 16:30:24Z], 30] 13:32:50.332 [debug] QUERY OK source="media_items" db=1.2ms idle=829.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" ["One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "fa82f6aa-2414-486f-8499-b9b9a2d19f92", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-05 16:30:24Z], ~U[2026-10-26 18:32:50Z], ~U[2026-10-26 18:32:50Z], "One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, 30, ~U[2026-10-05 16:30:24Z]] 13:32:50.333 [debug] QUERY OK source="sources" db=0.2ms idle=207.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:50.333 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:50.334 [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 [4082051] 13:32:50.334 [debug] Current batch of media processed. Will check again in 1000ms 13:32:51.334 [debug] Current batch of media processed. Will check again in 1000ms 13:32:51.384 [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/e9/eb/e9ebc0b42c3d417d54ab11abd60d64513d416bf344b017cb964d7bdc897d1797.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. 13:32:51.384 [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" 13:32:51.385 [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" 13:32:51.385 [info] {"args":{"id":1301347},"id":541520,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2032992,"event":"job:stop","queue_time":2351521,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:51.392 [info] {"args":{"id":1301393},"id":541522,"meta":{},"system_time":1793039571392157647,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:51.392 [debug] QUERY OK source="media_items" db=0.1ms idle=1058.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" = ?) [1301393] 13:32:51.392 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:51.393 [debug] QUERY OK source="sources" db=0.1ms idle=1058.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:51.393 [debug] QUERY OK source="media_profiles" db=0.1ms idle=266.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:51.393 [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] 13:32:51.395 [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] 13:32:51.395 [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] 13:32:51.395 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:51.395 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:51.395 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:51.396 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:51.396 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:51.396 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:51.396 [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/b1/cd/b1cdeac8669bffb21cb56e068126284d6309bd01300d299d6523806c110b6d57.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:51.564 [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/bb/bc/bbbc4de822b4767df7c1d8193c5982f4984c413be199d45650ffbee2b22895f4.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. 13:32:51.565 [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" 13:32:51.565 [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" 13:32:51.565 [info] {"args":{"id":1301392},"id":541521,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2068144,"event":"job:stop","queue_time":2496521,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:51.572 [info] {"args":{"id":1301394},"id":541523,"meta":{},"system_time":1793039571572200985,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:51.572 [debug] QUERY OK source="media_items" db=0.2ms idle=175.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] 13:32:51.572 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:51.573 [debug] QUERY OK source="sources" db=0.2ms idle=176.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:32:51.573 [debug] QUERY OK source="media_profiles" db=0.1ms idle=176.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:51.573 [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] 13:32:51.575 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301394] 13:32:51.576 [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] 13:32:51.576 [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 [] 13:32:51.576 [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 [] 13:32:51.576 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:51.578 [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 [] 13:32:51.578 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:51.578 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:51.578 [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/fc/a8/fca81a8e7f36735df3a9a6c2af03930922fa80e589f5221b1f6e5b8686d6f76f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:51.994 [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/13/91/13913ccbadfacbb160a38e2e5357eabc6a63f2cb1a6905839d711a9929705273.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/0a/b3/0ab36b26d68b104ef92c4b809910b9928da53f51c6318aec4a1aa3d151535329.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:32:51.994 [debug] Gracefully stopping file follower 13:32:51.995 [debug] QUERY OK source="sources" db=0.2ms 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] 13:32:51.995 [debug] QUERY OK source="sources" db=0.1ms idle=418.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:52.000 [debug] QUERY OK source="media_items" db=4.9ms idle=417.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 16:30:25Z], 30] 13:32:52.002 [debug] QUERY OK source="media_items" db=1.0ms idle=422.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 gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "7202d7d9-4a7b-412c-9583-1b82fa790639", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, false, false, 30, [], 98, ~U[2026-10-26 16:30:25Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, 30, ~U[2026-10-26 16:30:25Z]] 13:32:52.002 [debug] QUERY OK source="sources" db=0.1ms idle=423.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:52.007 [debug] QUERY OK source="media_items" db=4.9ms 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-10-25 16:30:23Z], 30] 13:32:52.009 [debug] QUERY OK source="media_items" db=1.3ms 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" ["Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "2acf8c82-6b26-438f-a40d-64de8a5587b0", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, false, false, 30, [], 98, ~U[2026-10-25 16:30:23Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, 30, ~U[2026-10-25 16:30:23Z]] 13:32:52.010 [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] 13:32:52.015 [debug] QUERY OK source="media_items" db=4.8ms idle=8.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 16:30:31Z], 30] 13:32:52.017 [debug] QUERY OK source="media_items" db=1.3ms idle=13.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" ["As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "4e6e8fd2-9190-4952-98e6-afbf203eb54b", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-24 16:30:31Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, 30, ~U[2026-10-24 16:30:31Z]] 13:32:52.018 [debug] QUERY OK source="sources" db=0.7ms idle=9.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:52.023 [debug] QUERY OK source="media_items" db=4.9ms 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-10-22 16:30:06Z], 30] 13:32:52.025 [debug] QUERY OK source="media_items" db=1.2ms idle=13.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" ["After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "ab873e76-0b50-498b-ae4c-930f10e453fb", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, false, false, 30, [], 98, ~U[2026-10-22 16:30:06Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, 30, ~U[2026-10-22 16:30:06Z]] 13:32:52.026 [debug] QUERY OK source="sources" db=0.8ms 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] 13:32:52.031 [debug] QUERY OK source="media_items" db=4.9ms idle=9.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 16:30:28Z], 30] 13:32:52.033 [debug] QUERY OK source="media_items" db=1.1ms idle=13.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 a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "5bd2f9d5-c93e-4813-ad3c-f0d70c041f03", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, false, false, 30, [], 98, ~U[2026-10-21 16:30:28Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, 30, ~U[2026-10-21 16:30:28Z]] 13:32:52.034 [debug] QUERY OK source="sources" db=0.7ms idle=10.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:52.039 [debug] QUERY OK source="media_items" db=4.7ms idle=9.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-20 16:30:13Z], 30] 13:32:52.043 [debug] QUERY OK source="media_items" db=3.4ms idle=13.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" ["Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "d170bd8c-0a47-4eb3-a1a5-9af67d448d76", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, false, false, 30, [], 98, ~U[2026-10-20 16:30:13Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, 30, ~U[2026-10-20 16:30:13Z]] 13:32:52.044 [debug] QUERY OK source="sources" db=0.7ms 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] 13:32:52.049 [debug] QUERY OK source="media_items" db=4.9ms idle=11.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 16:30:21Z], 30] 13:32:52.050 [debug] QUERY OK source="media_items" db=1.0ms idle=15.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" ["So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "fbf436f9-2707-4b5c-b02a-de79f1d77b2d", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, false, false, 30, [], 98, ~U[2026-10-19 16:30:21Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, 30, ~U[2026-10-19 16:30:21Z]] 13:32:52.051 [debug] QUERY OK source="sources" db=0.7ms 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] 13:32:52.056 [debug] QUERY OK source="media_items" db=4.9ms 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-10-18 16:30:36Z], 30] 13:32:52.058 [debug] QUERY OK source="media_items" db=1.3ms idle=13.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" ["Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "9cf5d19a-3861-4cee-aac7-a0db6ff98f18", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-10-18 16:30:36Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, 30, ~U[2026-10-18 16:30:36Z]] 13:32:52.059 [debug] QUERY OK source="sources" db=0.7ms idle=9.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:52.064 [debug] QUERY OK source="media_items" db=4.8ms 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-10-17 16:30:08Z], 30] 13:32:52.066 [debug] QUERY OK source="media_items" db=1.2ms 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" ["If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "0f6d9191-be6a-4b21-8ccf-f2fe867564ce", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, false, false, 30, [], 98, ~U[2026-10-17 16:30:08Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, 30, ~U[2026-10-17 16:30:08Z]] 13:32:52.067 [debug] QUERY OK source="sources" db=0.7ms idle=9.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:52.072 [debug] QUERY OK source="media_items" db=4.7ms idle=9.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 16:30:27Z], 30] 13:32:52.074 [debug] QUERY OK source="media_items" db=1.2ms idle=12.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" ["Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "2125df96-3bef-4d0f-991f-bac1924d237a", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, false, false, 30, [], 98, ~U[2026-10-15 16:30:27Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, 30, ~U[2026-10-15 16:30:27Z]] 13:32:52.075 [debug] QUERY OK source="sources" db=0.7ms idle=9.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:52.080 [debug] QUERY OK source="media_items" db=4.7ms idle=8.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 16:30:14Z], 30] 13:32:52.086 [debug] QUERY OK source="media_items" db=5.8ms idle=12.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" ["Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "09df938b-e7ee-40b6-8ad3-015c0bc6a7d8", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, false, false, 30, [], 98, ~U[2026-10-14 16:30:14Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, 30, ~U[2026-10-14 16:30:14Z]] 13:32:52.087 [debug] QUERY OK source="sources" db=0.7ms idle=14.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:52.092 [debug] QUERY OK source="media_items" db=4.9ms idle=13.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 16:30:21Z], 30] 13:32:52.094 [debug] QUERY OK source="media_items" db=1.3ms 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" ["There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "50eceeb7-b6ed-4df4-949f-e9bbfa6ad416", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, false, false, 30, [], 98, ~U[2026-10-13 16:30:21Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, 30, ~U[2026-10-13 16:30:21Z]] 13:32:52.095 [debug] QUERY OK source="sources" db=0.7ms idle=14.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:32:52.100 [debug] QUERY OK source="media_items" db=4.8ms idle=9.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 16:30:40Z], 30] 13:32:52.102 [debug] QUERY OK source="media_items" db=1.3ms idle=13.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 a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "03d4c08d-e397-4488-83ff-31da4c96b241", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, false, false, 30, [], 98, ~U[2026-10-12 16:30:40Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, 30, ~U[2026-10-12 16:30:40Z]] 13:32:52.103 [debug] QUERY OK source="sources" db=0.6ms idle=10.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:52.108 [debug] QUERY OK source="media_items" db=4.8ms idle=9.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-11 16:30:25Z], 30] 13:32:52.110 [debug] QUERY OK source="media_items" db=1.1ms idle=13.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" ["Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "d0c4a2ec-dcb7-41e6-ad37-3536cad362c9", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, false, false, 30, [], 98, ~U[2026-10-11 16:30:25Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, 30, ~U[2026-10-11 16:30:25Z]] 13:32:52.110 [debug] QUERY OK source="sources" db=0.6ms idle=9.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:52.115 [debug] QUERY OK source="media_items" db=4.6ms idle=8.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-10 16:30:06Z], 30] 13:32:52.117 [debug] QUERY OK source="media_items" db=1.0ms idle=12.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" ["Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "0e33fe0e-fbb4-4b8d-b3a7-5ff6f393b7a2", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-10 16:30:06Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, 30, ~U[2026-10-10 16:30:06Z]] 13:32:52.118 [debug] QUERY OK source="sources" db=0.6ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:52.122 [debug] QUERY OK source="media_items" db=4.4ms 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-10-08 16:30:08Z], 30] 13:32:52.124 [debug] QUERY OK source="media_items" db=1.1ms 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" ["Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "fd273417-01e0-482b-8bc5-12ca6c363df5", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-08 16:30:08Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, 30, ~U[2026-10-08 16:30:08Z]] 13:32:52.125 [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] 13:32:52.130 [debug] QUERY OK source="media_items" db=4.8ms 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-10-07 16:30:15Z], 30] 13:32:52.132 [debug] QUERY OK source="media_items" db=1.7ms idle=7.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" ["Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "1b82980b-eab7-4c20-ab9b-b4498101fe08", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, false, false, 30, [], 98, ~U[2026-10-07 16:30:15Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, 30, ~U[2026-10-07 16:30:15Z]] 13:32:52.132 [debug] QUERY OK source="sources" db=0.1ms idle=8.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:52.137 [debug] QUERY OK source="media_items" db=4.6ms 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-10-06 16:30:17Z], 30] 13:32:52.139 [debug] QUERY OK source="media_items" db=1.5ms idle=7.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" ["What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "fc7ee3ba-57bb-4865-b018-51ace21c6a18", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, false, false, 30, [], 98, ~U[2026-10-06 16:30:17Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, 30, ~U[2026-10-06 16:30:17Z]] 13:32:52.140 [debug] QUERY OK source="sources" db=0.1ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:32:52.144 [debug] QUERY OK source="media_items" db=4.6ms 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-10-05 16:30:24Z], 30] 13:32:52.146 [debug] QUERY OK source="media_items" db=0.9ms 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" ["One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "4dc498b6-3d8e-4094-b6da-eb47b06e982c", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-05 16:30:24Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, 30, ~U[2026-10-05 16:30:24Z]] 13:32:52.147 [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] 13:32:52.152 [debug] QUERY OK source="media_items" db=4.6ms 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-10-04 16:30:05Z], 30] 13:32:52.153 [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" ["You'd think an office suite wouldn't be a point of debate that anyone cares about but it turns out on Fedora that may not be the case.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nForum Thread: https://discussion.fedoraproject.org/t/suggestion-retire-libreoffice-ship-collabora-as-the-default-office-suite-out-of-the-box/202428\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LibreOffice #Collabora #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.", "Does Anyone On Linux Actually Care About Office Suites", "fcc120ad-9955-44b1-8277-f070179be2a7", "4GlNQatbLss", 1047, false, "https://www.youtube.com/watch?v=4GlNQatbLss", 20, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100400_Does Anyone On Linux Actually Care About Office Suites.mp4", false, false, false, 30, [], 98, ~U[2026-10-04 16:30:05Z], ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], "You'd think an office suite wouldn't be a point of debate that anyone cares about but it turns out on Fedora that may not be the case.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nForum Thread: https://discussion.fedoraproject.org/t/suggestion-retire-libreoffice-ship-collabora-as-the-default-office-suite-out-of-the-box/202428\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LibreOffice #Collabora #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.", "Does Anyone On Linux Actually Care About Office Suites", "4GlNQatbLss", 1047, false, "https://www.youtube.com/watch?v=4GlNQatbLss", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100400_Does Anyone On Linux Actually Care About Office Suites.mp4", false, 30, ~U[2026-10-04 16:30:05Z]] 13:32:52.154 [debug] QUERY OK source="sources" db=0.6ms idle=8.9ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z], 30] 13:32:52.159 [debug] QUERY OK source="media_items" db=4.7ms idle=8.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")))) [30] 13:32:52.164 [debug] QUERY OK source="media_items" db=4.7ms idle=12.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] 13:32:52.165 [debug] QUERY OK source="media_items" db=1.2ms idle=12.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 13:32:52.167 [debug] QUERY OK source="tasks" db=0.7ms idle=7.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541533, 30, ~U[2026-10-26 18:32:52Z], ~U[2026-10-26 18:32:52Z]] 13:32:52.168 [info] {"args":{"id":30},"id":541465,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":46098787,"event":"job:stop","queue_time":116967,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:32:53.288 [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/b1/cd/b1cdeac8669bffb21cb56e068126284d6309bd01300d299d6523806c110b6d57.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. 13:32:53.288 [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" 13:32:53.288 [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" 13:32:53.288 [info] {"args":{"id":1301393},"id":541522,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1896357,"event":"job:stop","queue_time":4391515,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:53.295 [info] {"args":{"id":1301395},"id":541524,"meta":{},"system_time":1793039573295285398,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:53.295 [debug] QUERY OK source="media_items" db=0.1ms idle=1126.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] 13:32:53.295 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:53.296 [debug] QUERY OK source="sources" db=0.1ms idle=1120.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:53.296 [debug] QUERY OK source="media_profiles" db=0.1ms idle=163.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:53.296 [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 [1301395] 13:32:53.299 [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" = ?) [1301395] 13:32:53.299 [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] 13:32:53.299 [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 [] 13:32:53.299 [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 [] 13:32:53.299 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:53.300 [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 [] 13:32:53.300 [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 [] 13:32:53.300 [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 [] 13:32:53.301 [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/01/17/0117800debb4ecacbb8cbf30f31316f7d08f6edd32842c8fdd1d0bd1703f6857.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:53.602 [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/fc/a8/fca81a8e7f36735df3a9a6c2af03930922fa80e589f5221b1f6e5b8686d6f76f.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. 13:32:53.602 [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" 13:32:53.602 [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" 13:32:53.602 [info] {"args":{"id":1301394},"id":541523,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2030227,"event":"job:stop","queue_time":4571579,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:53.609 [info] {"args":{"id":1301397},"id":541525,"meta":{},"system_time":1793039573609112617,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:53.609 [debug] QUERY OK source="media_items" db=0.1ms idle=308.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" = ?) [1301397] 13:32:53.609 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:53.609 [debug] QUERY OK source="sources" db=0.1ms idle=308.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:53.610 [debug] QUERY OK source="media_profiles" db=0.1ms idle=308.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] 13:32:53.610 [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 [1301397] 13:32:53.612 [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] 13:32:53.612 [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] 13:32:53.612 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:53.612 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:53.612 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:53.614 [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 [] 13:32:53.614 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:53.614 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:53.614 [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/11/b5/11b5456aacc397134a8813f537cde6ba4e487219c815acf107d1466fe6d1a516.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:55.050 [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/01/17/0117800debb4ecacbb8cbf30f31316f7d08f6edd32842c8fdd1d0bd1703f6857.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. 13:32:55.050 [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" 13:32:55.050 [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" 13:32:55.050 [info] {"args":{"id":1301395},"id":541524,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1755153,"event":"job:stop","queue_time":6294568,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:55.057 [info] {"args":{"id":1301398},"id":541526,"meta":{},"system_time":1793039575057193567,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:55.057 [debug] QUERY OK source="media_items" db=0.1ms idle=1442.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] 13:32:55.057 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:55.058 [debug] QUERY OK source="sources" db=0.2ms idle=1443.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:55.058 [debug] QUERY OK source="media_profiles" db=0.1ms idle=923.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:55.058 [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 [1301398] 13:32:55.060 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301398] 13:32:55.061 [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] 13:32:55.061 [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 [] 13:32:55.061 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:55.061 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:55.063 [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 [] 13:32:55.063 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:55.063 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:55.064 [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/3a/54/3a542a7c07bfa595ed640702ea28e3887b3285aa0af9ff9fd9429e0cc42049b0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:55.638 [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/11/b5/11b5456aacc397134a8813f537cde6ba4e487219c815acf107d1466fe6d1a516.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. 13:32:55.639 [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" 13:32:55.639 [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" 13:32:55.639 [info] {"args":{"id":1301397},"id":541525,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2030126,"event":"job:stop","queue_time":6608559,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:55.646 [info] {"args":{"id":1301399},"id":541527,"meta":{},"system_time":1793039575646183382,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:55.646 [debug] QUERY OK source="media_items" db=0.1ms idle=582.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] 13:32:55.646 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:55.646 [debug] QUERY OK source="sources" db=0.1ms idle=582.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:55.647 [debug] QUERY OK source="media_profiles" db=0.1ms idle=511.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:55.647 [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] 13:32:55.648 [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] 13:32:55.649 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:55.649 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:55.649 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:55.649 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:55.652 [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 [] 13:32:55.652 [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 [] 13:32:55.652 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:55.652 [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/54/96/549619111e934a0299066e151558cec31d86421c08c3ecb659fe5bc95ac8de58.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:57.136 [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/3a/54/3a542a7c07bfa595ed640702ea28e3887b3285aa0af9ff9fd9429e0cc42049b0.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. 13:32:57.136 [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" 13:32:57.137 [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" 13:32:57.137 [info] {"args":{"id":1301398},"id":541526,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2079924,"event":"job:stop","queue_time":8056515,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:57.144 [info] {"args":{"id":1301400},"id":541528,"meta":{},"system_time":1793039577144252589,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:57.144 [debug] QUERY OK source="media_items" db=0.1ms idle=1492.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] 13:32:57.144 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:57.145 [debug] QUERY OK source="sources" db=0.1ms idle=1007.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:57.145 [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] 13:32:57.145 [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] 13:32:57.150 [debug] QUERY OK source="media_metadata" db=0.1ms idle=5.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" = ?) [1301400] 13:32:57.150 [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] 13:32:57.150 [debug] QUERY OK source="settings" db=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:57.150 [debug] QUERY OK source="settings" db=0.0ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:57.151 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:57.158 [debug] QUERY OK source="settings" db=0.1ms idle=12.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:57.158 [debug] QUERY OK source="settings" db=0.0ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:57.158 [debug] QUERY OK source="settings" db=0.0ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:57.158 [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/af/d3/afd3751c1c7ed195f6c3112833119fdb7b5b220d75c7df5d7cec2bf3638921ce.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:57.353 [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/54/96/549619111e934a0299066e151558cec31d86421c08c3ecb659fe5bc95ac8de58.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. 13:32:57.354 [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" 13:32:57.354 [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" 13:32:57.354 [info] {"args":{"id":1301399},"id":541527,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1708116,"event":"job:stop","queue_time":8645511,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:57.361 [info] {"args":{"id":2720968},"id":541529,"meta":{},"system_time":1793039577361317518,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:57.361 [debug] QUERY OK source="media_items" db=0.1ms idle=203.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] 13:32:57.361 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:57.362 [debug] QUERY OK source="sources" db=0.1ms idle=203.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:57.362 [debug] QUERY OK source="media_profiles" db=0.1ms idle=203.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:57.362 [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 [2720968] 13:32:57.363 [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" = ?) [2720968] 13:32:57.363 [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] 13:32:57.364 [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 [] 13:32:57.364 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:57.364 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:57.365 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:57.365 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:57.365 [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 [] 13:32:57.365 [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/1d/74/1d743a1992a5b39435bc7995ef4c3796874c7a57dd7cd884ab53a73e24d48ec9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:59.074 [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/af/d3/afd3751c1c7ed195f6c3112833119fdb7b5b220d75c7df5d7cec2bf3638921ce.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. 13:32:59.074 [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" 13:32:59.074 [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" 13:32:59.075 [info] {"args":{"id":1301400},"id":541528,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1930642,"event":"job:stop","queue_time":10143522,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:59.081 [info] {"args":{"id":3440530},"id":541530,"meta":{},"system_time":1793039579081345235,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:32:59.081 [debug] QUERY OK source="media_items" db=0.1ms idle=623.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" = ?) [3440530] 13:32:59.081 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:32:59.082 [debug] QUERY OK source="sources" db=0.1ms idle=623.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:32:59.082 [debug] QUERY OK source="media_profiles" db=0.1ms idle=623.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:59.082 [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 [3440530] 13:32:59.085 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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" = ?) [3440530] 13:32:59.085 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:59.086 [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 [] 13:32:59.086 [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 [] 13:32:59.086 [debug] Running yt-dlp command for action: get_downloadable_status 13:32:59.087 [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 [] 13:32:59.087 [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 [] 13:32:59.087 [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 [] 13:32:59.087 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/de/9f/de9f17659bdcd3dcbf2cfe5466217d682262ae33e8d820b9d1fb0cd8f7677c80.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:32:59.710 [info] {"source":"oban","duration":7383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.085 [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/1d/74/1d743a1992a5b39435bc7995ef4c3796874c7a57dd7cd884ab53a73e24d48ec9.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. 13:33:00.085 [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" 13:33:00.086 [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" 13:33:00.086 [info] {"args":{"id":2720968},"id":541529,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2724889,"event":"job:stop","queue_time":10360559,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:33:00.093 [info] {"args":{"id":3675707},"id":541531,"meta":{},"system_time":1793039580093181609,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:33:00.093 [debug] QUERY OK source="media_items" db=0.1ms idle=1005.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" = ?) [3675707] 13:33:00.093 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:33:00.093 [debug] QUERY OK source="sources" db=0.1ms idle=952.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:33:00.094 [debug] QUERY OK source="media_profiles" db=0.5ms idle=383.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:33:00.095 [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 [3675707] 13:33:00.096 [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" = ?) [3675707] 13:33:00.096 [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] 13:33:00.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 [] 13:33:00.097 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:00.097 [debug] Running yt-dlp command for action: get_downloadable_status 13:33:00.099 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:00.099 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:00.099 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:00.099 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dc/db/dcdbe2a8204e4708afdfc0ea0d5ef50718260f30b67c519211b2903d394858d1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:33:00.149 [info] {"args":{"id":51},"id":541515,"meta":{},"system_time":1793039580149230298,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:33:00.149 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 13:33:00.149 [debug] QUERY OK source="settings" db=0.1ms idle=50.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:00.150 [debug] QUERY OK source="media_profiles" db=0.1ms idle=50.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:33:00.150 [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 [] 13:33:00.150 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 13:33:00.213 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 13:33:00.214 [debug] QUERY OK source="media_items" db=0.5ms idle=64.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, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 13:33:00.215 [debug] QUERY OK source="media_items" db=0.4ms idle=64.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] 13:33:00.216 [debug] QUERY OK source="tasks" db=0.2ms idle=65.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541534, 51, ~U[2026-10-26 18:33:00Z], ~U[2026-10-26 18:33:00Z]] 13:33:00.216 [info] {"args":{"id":51},"id":541515,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":67000,"event":"job:stop","queue_time":582680,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:33:00.247 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:33:00.887 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/de/9f/de9f17659bdcd3dcbf2cfe5466217d682262ae33e8d820b9d1fb0cd8f7677c80.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 13:33:00.887 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:33:00.887 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:33:00.888 [info] {"args":{"id":3440530},"id":541530,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1806501,"event":"job:stop","queue_time":12080576,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:33:01.921 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dc/db/dcdbe2a8204e4708afdfc0ea0d5ef50718260f30b67c519211b2903d394858d1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 13:33:01.921 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:33:01.921 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:33:01.921 [info] {"args":{"id":3675707},"id":541531,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1828099,"event":"job:stop","queue_time":13092526,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:33:26.215 [info] GET /sitemap.xml 13:33:26.215 [info] GET /sources 13:33:26.215 [info] GET /app_info 13:33:26.215 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 13:33:26.215 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 13:33:26.215 [debug] QUERY OK source="settings" db=0.2ms idle=756.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.215 [debug] QUERY OK source="settings" db=0.1ms idle=757.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.215 [debug] QUERY OK source="settings" db=0.1ms idle=757.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.216 [debug] QUERY OK source="settings" db=0.1ms idle=757.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.216 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:33:26.216 [debug] QUERY OK source="settings" db=0.1ms idle=38.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.216 [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 [] 13:33:26.216 [debug] QUERY OK source="settings" db=0.1ms queue=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 [] 13:33:26.217 [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 [] 13:33:26.217 [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 [] 13:33:26.217 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.217 [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 [] 13:33:26.217 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.216 [error] #PID<0.254200.0> running PinchflatWeb.Endpoint (connection #PID<0.254197.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.254197.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 35582}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254200.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.217.174"}, {"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", "GOIoBZypicdER1UApzhB"} ], 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.254197.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 35582}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254197.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 35582}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254200.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.217.174"}, {"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", "GOIoBZypicdER1UApzhB"} ], (truncated) 13:33:26.218 [info] Sent 200 in 2ms 13:33:26.263 [debug] QUERY OK source="sources" db=46.0ms idle=0.6ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 13:33:26.304 [debug] QUERY OK source="sources" db=40.6ms idle=46.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 13:33:26.306 [info] GET /media_profiles 13:33:26.306 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 13:33:26.306 [debug] QUERY OK db=0.0ms idle=88.9ms SELECT regexp_like('', ?) [".*(?!trailer|coming soon|coming in|studio|podcast)"] 13:33:26.306 [debug] QUERY OK source="media_profiles" db=0.2ms idle=88.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 13:33:26.306 [debug] QUERY OK source="settings" db=0.0ms idle=89.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.307 [debug] QUERY OK source="settings" db=0.0ms idle=43.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.307 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.307 [info] Sent 200 in 92ms 13:33:26.307 [info] Sent 200 in 1ms 13:33:26.396 [info] GET /sources/46 13:33:26.396 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "46"} Pipelines: [:browser] 13:33:26.397 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 13:33:26.397 [debug] QUERY OK source="media_profiles" db=0.1ms idle=90.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:33:26.488 [info] GET /sources/52 13:33:26.488 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "52"} Pipelines: [:browser] 13:33:26.488 [debug] QUERY OK source="sources" db=0.1ms idle=181.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:33:26.489 [debug] QUERY OK source="media_profiles" db=0.1ms idle=181.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] 13:33:26.543 [debug] QUERY OK source="tasks" db=145.3ms idle=90.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [46, "executing", "available", "scheduled", "retryable"] 13:33:26.543 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=145.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" = ?) [541482] 13:33:26.579 [info] GET /sources/22 13:33:26.579 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "22"} Pipelines: [:browser] 13:33:26.579 [debug] QUERY OK source="settings" db=0.2ms queue=35.3ms idle=55.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.579 [debug] QUERY OK source="settings" db=0.1ms idle=90.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.580 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 13:33:26.580 [debug] QUERY OK source="settings" db=0.1ms idle=36.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.580 [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] 13:33:26.581 [debug] QUERY OK source="sources" db=0.1ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 13:33:26.581 [debug] QUERY OK source="media_items" db=0.4ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [46] 13:33:26.589 [debug] QUERY OK source="tasks" db=8.2ms idle=0.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [22, "executing", "available", "scheduled", "retryable"] 13:33:26.589 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=7.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" = ?) [540397] 13:33:26.589 [debug] QUERY OK source="media_items" db=7.4ms idle=1.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 13:33:26.589 [debug] QUERY OK source="settings" db=0.0ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.589 [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 [] 13:33:26.590 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=0.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 13:33:26.590 [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 [] 13:33:26.590 [debug] QUERY OK source="media_items" db=0.2ms idle=0.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [46] 13:33:26.590 [debug] QUERY OK source="media_items" db=0.2ms idle=0.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [46, 10, 0] 13:33:26.591 [debug] QUERY OK source="sources" db=0.1ms idle=0.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 13:33:26.591 [debug] QUERY OK source="sources" db=0.1ms idle=0.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 13:33:26.591 [debug] QUERY OK source="media_items" db=0.4ms idle=0.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 13:33:26.592 [debug] QUERY OK source="media_items" db=0.5ms idle=0.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [46] 13:33:26.592 [debug] QUERY OK source="media_items" db=0.7ms idle=0.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [22, 10, 0] 13:33:26.593 [debug] QUERY OK source="sources" db=0.1ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 13:33:26.593 [debug] QUERY OK source="media_items" db=0.9ms idle=0.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [46, 10, 0] 13:33:26.593 [debug] QUERY OK source="media_items" db=0.2ms idle=1.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [22] 13:33:26.593 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=0.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [22, 10, 0] 13:33:26.594 [info] Sent 200 in 197ms 13:33:26.594 [debug] QUERY OK source="sources" db=0.1ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 13:33:26.594 [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] 13:33:26.595 [debug] QUERY OK source="media_items" db=0.3ms idle=1.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [22, 10, 0] 13:33:26.595 [info] Sent 200 in 16ms 13:33:26.696 [info] GET /sources/9 13:33:26.696 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "9"} Pipelines: [:browser] 13:33:26.697 [debug] QUERY OK source="sources" db=0.1ms idle=103.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:33:26.697 [debug] QUERY OK source="media_profiles" db=0.1ms idle=102.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] 13:33:26.702 [debug] QUERY OK source="tasks" db=5.0ms idle=102.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [9, "executing", "available", "scheduled", "retryable"] 13:33:26.702 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=107.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" = ?) [540393] 13:33:26.703 [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 [] 13:33:26.703 [debug] QUERY OK source="settings" db=0.0ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.703 [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 [] 13:33:26.704 [debug] QUERY OK source="sources" db=0.0ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 13:33:26.705 [debug] QUERY OK source="media_items" db=0.8ms idle=1.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 13:33:26.706 [debug] QUERY OK source="media_items" db=1.0ms idle=2.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 13:33:26.707 [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" = ?) [9] 13:33:26.707 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 13:33:26.707 [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 ? [9, 10, 0] 13:33:26.708 [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" = ?) [9] 13:33:26.709 [debug] QUERY OK source="media_items" db=0.6ms idle=1.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 13:33:26.710 [debug] QUERY OK source="media_items" db=0.7ms idle=2.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 13:33:26.711 [info] Sent 200 in 14ms 13:33:26.767 [info] GET /sources/38 13:33:26.767 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "38"} Pipelines: [:browser] 13:33:26.768 [debug] QUERY OK source="sources" db=0.2ms idle=60.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 13:33:26.769 [debug] QUERY OK source="media_profiles" db=0.8ms idle=59.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:33:26.783 [debug] QUERY OK source="tasks" db=13.6ms idle=60.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 (?,?,?,?)) [38, "executing", "available", "scheduled", "retryable"] 13:33:26.783 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=73.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" = ?) [541287] 13:33:26.783 [debug] QUERY OK source="settings" db=0.0ms idle=15.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.783 [debug] QUERY OK source="settings" db=0.0ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.784 [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 [] 13:33:26.785 [debug] QUERY OK source="sources" db=0.0ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 13:33:26.786 [debug] QUERY OK source="media_items" db=0.9ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [38] 13:33:26.787 [debug] QUERY OK source="media_items" db=1.2ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [38, 10, 0] 13:33:26.787 [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" = ?) [38] 13:33:26.788 [debug] QUERY OK source="media_items" db=0.0ms idle=2.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [38] 13:33:26.788 [debug] QUERY OK source="media_items" db=0.2ms idle=1.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [38, 10, 0] 13:33:26.788 [debug] QUERY OK source="sources" db=0.0ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 13:33:26.789 [debug] QUERY OK source="media_items" db=0.4ms idle=0.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [38] 13:33:26.790 [debug] QUERY OK source="media_items" db=0.6ms 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 ? [38, 10, 0] 13:33:26.790 [info] Sent 200 in 23ms 13:33:26.856 [info] GET /sources/55 13:33:26.856 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "55"} Pipelines: [:browser] 13:33:26.857 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 13:33:26.857 [debug] QUERY OK source="media_profiles" db=0.1ms idle=68.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:33:26.859 [debug] QUERY OK source="tasks" db=1.4ms idle=68.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [55, "executing", "available", "scheduled", "retryable"] 13:33:26.859 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=69.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" = ?) [540428] 13:33:26.859 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.859 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.860 [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 [] 13:33:26.861 [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" = ?) [55] 13:33:26.862 [debug] QUERY OK source="media_items" db=0.6ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 13:33:26.863 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 13:33:26.863 [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" = ?) [55] 13:33:26.863 [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] 13:33:26.864 [debug] QUERY OK source="media_items" db=0.1ms 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] 13:33:26.864 [debug] QUERY OK source="sources" db=0.1ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 13:33:26.865 [debug] QUERY OK source="media_items" db=0.2ms idle=1.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 13:33:26.865 [debug] QUERY OK source="media_items" db=0.4ms idle=1.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [55, 10, 0] 13:33:26.866 [info] Sent 200 in 9ms 13:33:26.948 [info] GET /sources/57 13:33:26.948 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "57"} Pipelines: [:browser] 13:33:26.949 [debug] QUERY OK source="sources" db=0.1ms idle=84.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 13:33:26.949 [debug] QUERY OK source="media_profiles" db=0.1ms idle=84.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:33:26.955 [debug] QUERY OK source="tasks" db=5.1ms idle=84.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [57, "executing", "available", "scheduled", "retryable"] 13:33:26.955 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=89.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" = ?) [540418] 13:33:26.955 [debug] QUERY OK source="settings" db=0.1ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.956 [debug] QUERY OK source="settings" db=0.1ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.956 [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 [] 13:33:26.957 [debug] QUERY OK source="tasks" db=468.4ms idle=92.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 (?,?,?,?)) [52, "executing", "available", "scheduled", "retryable"] 13:33:26.957 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 13:33:26.958 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=2.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [541532, 518612] 13:33:26.959 [debug] QUERY OK source="settings" db=0.5ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.960 [debug] QUERY OK source="settings" db=0.3ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.960 [debug] QUERY OK source="media_items" db=2.6ms 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")))) [57] 13:33:26.961 [debug] QUERY OK source="settings" db=0.6ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.962 [debug] QUERY OK source="media_items" db=1.4ms 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 ? [57, 10, 0] 13:33:26.962 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [52] 13:33:26.964 [debug] QUERY OK source="media_items" db=1.6ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [52] 13:33:26.964 [debug] QUERY OK source="sources" db=1.2ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [57] 13:33:26.964 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [57] 13:33:26.965 [debug] QUERY OK source="media_items" db=0.4ms idle=2.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 ? [57, 10, 0] 13:33:26.965 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [52, 10, 0] 13:33:26.966 [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" = ?) [52] 13:33:26.966 [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" = ?) [57] 13:33:26.966 [debug] QUERY OK source="media_items" db=0.0ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [52] 13:33:26.966 [debug] QUERY OK source="media_items" db=0.3ms idle=0.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [52, 10, 0] 13:33:26.966 [debug] QUERY OK source="media_items" db=0.4ms idle=1.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [57] 13:33:26.968 [debug] QUERY OK source="media_items" db=1.0ms idle=0.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [57, 10, 0] 13:33:26.968 [debug] QUERY OK source="sources" db=0.7ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:33:26.968 [info] Sent 200 in 20ms 13:33:26.969 [debug] QUERY OK source="media_items" db=0.9ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 13:33:26.969 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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 ? [52, 10, 0] 13:33:26.970 [info] Sent 200 in 482ms 13:33:27.043 [info] GET /sources/17 13:33:27.043 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "17"} Pipelines: [:browser] 13:33:27.043 [debug] QUERY OK source="sources" db=0.2ms idle=76.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:33:27.044 [debug] QUERY OK source="media_profiles" db=0.1ms idle=75.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:33:27.045 [debug] QUERY OK source="tasks" db=1.3ms idle=76.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 (?,?,?,?)) [17, "executing", "available", "scheduled", "retryable"] 13:33:27.046 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=76.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" = ?) [540423] 13:33:27.046 [debug] QUERY OK source="settings" db=0.0ms idle=76.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.046 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.046 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.048 [debug] QUERY OK source="sources" db=0.1ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 13:33:27.048 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [17] 13:33:27.049 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [17, 10, 0] 13:33:27.049 [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" = ?) [17] 13:33:27.049 [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)) [17] 13:33:27.050 [debug] QUERY OK source="media_items" db=0.2ms idle=1.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [17, 10, 0] 13:33:27.050 [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" = ?) [17] 13:33:27.050 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [17] 13:33:27.051 [debug] QUERY OK source="media_items" db=0.3ms idle=1.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [17, 10, 0] 13:33:27.052 [info] Sent 200 in 9ms 13:33:27.135 [info] GET /sources/32/edit 13:33:27.135 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "32"} Pipelines: [:browser] 13:33:27.135 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 13:33:27.136 [debug] QUERY OK source="media_profiles" db=0.1ms idle=85.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 13:33:27.136 [debug] QUERY OK source="settings" db=0.0ms idle=86.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.136 [debug] QUERY OK source="settings" db=0.1ms idle=85.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.137 [debug] QUERY OK source="settings" db=0.0ms idle=85.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.139 [info] Sent 200 in 4ms 13:33:27.225 [info] GET /sources/new 13:33:27.225 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 13:33:27.225 [debug] QUERY OK source="media_profiles" db=0.2ms idle=89.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 13:33:27.226 [debug] QUERY OK source="settings" db=0.0ms idle=89.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.226 [debug] QUERY OK source="settings" db=0.0ms idle=89.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.226 [debug] QUERY OK source="settings" db=0.1ms idle=89.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.227 [debug] QUERY OK source="settings" db=0.0ms idle=48.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.227 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.228 [info] Sent 200 in 3ms 13:33:27.316 [info] GET /sources/26 13:33:27.317 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "26"} Pipelines: [:browser] 13:33:27.317 [debug] QUERY OK source="sources" db=0.2ms idle=91.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:33:27.318 [debug] QUERY OK source="media_profiles" db=0.1ms idle=91.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:33:27.319 [debug] QUERY OK source="tasks" db=1.4ms idle=91.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 (?,?,?,?)) [26, "executing", "available", "scheduled", "retryable"] 13:33:27.320 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=92.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" = ?) [540392] 13:33:27.320 [debug] QUERY OK source="settings" db=0.1ms idle=92.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.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 [] 13:33:27.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 [] 13:33:27.322 [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" = ?) [26] 13:33:27.322 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [26] 13:33:27.323 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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 ? [26, 10, 0] 13:33:27.323 [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" = ?) [26] 13:33:27.323 [debug] QUERY OK source="media_items" db=0.0ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [26] 13:33:27.323 [debug] QUERY OK source="media_items" db=0.1ms idle=1.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [26, 10, 0] 13:33:27.324 [debug] QUERY OK source="sources" db=0.1ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [26] 13:33:27.325 [debug] QUERY OK source="media_items" db=0.2ms idle=1.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [26] 13:33:27.325 [debug] QUERY OK source="media_items" db=0.3ms idle=1.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [26, 10, 0] 13:33:27.326 [info] Sent 200 in 9ms 13:33:27.407 [info] GET /sources/46/edit 13:33:27.407 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "46"} Pipelines: [:browser] 13:33:27.408 [debug] QUERY OK source="sources" db=0.1ms idle=84.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 13:33:27.408 [debug] QUERY OK source="media_profiles" db=0.1ms idle=84.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" [] 13:33:27.408 [debug] QUERY OK source="settings" db=0.0ms idle=84.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.409 [debug] QUERY OK source="settings" db=0.0ms idle=84.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.409 [debug] QUERY OK source="settings" db=0.0ms idle=83.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:27.411 [info] Sent 200 in 3ms 13:33:29.724 [info] {"source":"oban","duration":12446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:33:52.219 [info] {"args":{"id":35},"id":541432,"meta":{},"system_time":1793039632219555606,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:33:52.220 [debug] QUERY OK source="sources" db=0.2ms idle=1761.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:33:52.225 [debug] QUERY OK source="settings" db=4.7ms idle=1008.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:52.228 [debug] QUERY OK source="media_items" db=3.6ms idle=766.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")))) [35] 13:33:52.229 [debug] QUERY OK source="media_items" db=0.3ms idle=16.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 13:33:52.229 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 13:33:52.230 [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 [] 13:33:52.230 [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 [] 13:33:52.234 [debug] QUERY OK source="media_items" db=2.2ms 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 [35] 13:33:52.235 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:33:52.235 [debug] Current batch of media processed. Will check again in 1000ms 13:33:52.235 [debug] QUERY OK source="settings" db=0.1ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:52.235 [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 [] 13:33:52.236 [debug] QUERY OK source="settings" db=0.0ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:52.236 [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/ad/bd/adbd9070e47d5e86b76b5f44fc63949734166ebdcb4b7366262340dffdd59bb7.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/07/a0/07a0b496daddcf95de9fe8f9a9e58ca44545354bc8e355cbc06141aee70998ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:33:53.236 [debug] Current batch of media processed. Will check again in 1000ms 13:33:54.237 [debug] Current batch of media processed. Will check again in 1000ms 13:33:55.238 [debug] Current batch of media processed. Will check again in 1000ms 13:33:56.239 [debug] Current batch of media processed. Will check again in 1000ms 13:33:57.240 [debug] Current batch of media processed. Will check again in 1000ms 13:33:58.241 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "ProtoArc recently sent me their new EM06 trackball mouse to try out. This mouse is a 55mm center ball mouse with 7 programmable buttons. Configuration is simple and done through the web browser. Works on Windows, Mac and Linux! \n\nREFERENCED:\n► https://www.protoarc.com/products/em06-customizable-finger-trackball-mouse\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" => 1314, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e102400_The Brilliantly Designed ProtoArc EM06 Trackball Mouse.mp4", "id" => "EUbWgy5MZOw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EUbWgy5MZOw", "playlist_index" => 1, "timestamp" => 1792872916, "title" => "The Brilliantly Designed ProtoArc EM06 Trackball Mouse", "upload_date" => "20261024"} 13:33:58.242 [debug] QUERY OK source="sources" db=0.2ms idle=783.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:33:58.242 [debug] QUERY OK source="sources" db=0.1ms idle=783.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:33:58.246 [debug] QUERY OK source="media_items" db=3.4ms idle=784.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 20:15:16Z], 35] 13:33:58.248 [debug] QUERY OK source="media_items" db=1.3ms idle=788.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" ["ProtoArc recently sent me their new EM06 trackball mouse to try out. This mouse is a 55mm center ball mouse with 7 programmable buttons. Configuration is simple and done through the web browser. Works on Windows, Mac and Linux! \n\nREFERENCED:\n► https://www.protoarc.com/products/em06-customizable-finger-trackball-mouse\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!", "The Brilliantly Designed ProtoArc EM06 Trackball Mouse", "8a3ea0a3-9d85-4272-bcf6-870f100a3e10", "EUbWgy5MZOw", 1314, false, "https://www.youtube.com/watch?v=EUbWgy5MZOw", 1, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e102400_The Brilliantly Designed ProtoArc EM06 Trackball Mouse.mp4", false, false, false, 35, [], 98, ~U[2026-10-24 20:15:16Z], ~U[2026-10-26 18:33:58Z], ~U[2026-10-26 18:33:58Z], "ProtoArc recently sent me their new EM06 trackball mouse to try out. This mouse is a 55mm center ball mouse with 7 programmable buttons. Configuration is simple and done through the web browser. Works on Windows, Mac and Linux! \n\nREFERENCED:\n► https://www.protoarc.com/products/em06-customizable-finger-trackball-mouse\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!", "The Brilliantly Designed ProtoArc EM06 Trackball Mouse", "EUbWgy5MZOw", 1314, false, "https://www.youtube.com/watch?v=EUbWgy5MZOw", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e102400_The Brilliantly Designed ProtoArc EM06 Trackball Mouse.mp4", false, 35, ~U[2026-10-24 20:15:16Z]] 13:33:58.248 [debug] QUERY OK source="sources" db=0.2ms idle=29.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:33:58.249 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:33:58.249 [debug] QUERY OK source="media_items" db=0.2ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4231455] 13:33:58.249 [debug] Current batch of media processed. Will check again in 1000ms 13:33:59.250 [debug] Current batch of media processed. Will check again in 1000ms 13:33:59.731 [info] {"source":"oban","duration":6916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.248 [info] {"source":"oban","duration":128,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:34:00.251 [debug] Current batch of media processed. Will check again in 1000ms 13:34:01.252 [debug] Current batch of media processed. Will check again in 1000ms 13:34:02.253 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "FunOS is a GNU/Linux distribution based on Ubuntu LTS. It uses the JWM window manager, comes without Snap, and includes the latest Ubuntu HWE kernel. Perfect for users who want a fast and minimal Linux experience without sacrificing stability.\n\nREFERENCED:\n► https://funos.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" => 1267, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101800_An Installation and First Look at FunOS.mp4", "id" => "sUUKNgzF-pQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sUUKNgzF-pQ", "playlist_index" => 2, "timestamp" => 1792335606, "title" => "An Installation and First Look at FunOS", "upload_date" => "20261018"} 13:34:02.254 [debug] QUERY OK source="sources" db=0.2ms idle=795.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:02.254 [debug] QUERY OK source="sources" db=0.1ms idle=795.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:02.256 [debug] QUERY OK source="media_items" db=1.0ms idle=796.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-18 15:00:06Z], 35] 13:34:02.257 [debug] QUERY OK source="media_items" db=0.9ms idle=797.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" ["FunOS is a GNU/Linux distribution based on Ubuntu LTS. It uses the JWM window manager, comes without Snap, and includes the latest Ubuntu HWE kernel. Perfect for users who want a fast and minimal Linux experience without sacrificing stability.\n\nREFERENCED:\n► https://funos.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!", "An Installation and First Look at FunOS", "4c03da7c-3bc9-4cd3-8716-cf9b76147e98", "sUUKNgzF-pQ", 1267, false, "https://www.youtube.com/watch?v=sUUKNgzF-pQ", 2, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101800_An Installation and First Look at FunOS.mp4", false, false, false, 35, [], 98, ~U[2026-10-18 15:00:06Z], ~U[2026-10-26 18:34:02Z], ~U[2026-10-26 18:34:02Z], "FunOS is a GNU/Linux distribution based on Ubuntu LTS. It uses the JWM window manager, comes without Snap, and includes the latest Ubuntu HWE kernel. Perfect for users who want a fast and minimal Linux experience without sacrificing stability.\n\nREFERENCED:\n► https://funos.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!", "An Installation and First Look at FunOS", "sUUKNgzF-pQ", 1267, false, "https://www.youtube.com/watch?v=sUUKNgzF-pQ", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101800_An Installation and First Look at FunOS.mp4", false, 35, ~U[2026-10-18 15:00:06Z]] 13:34:02.257 [debug] QUERY OK source="sources" db=0.1ms idle=33.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:02.258 [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] 13:34:02.258 [debug] QUERY OK source="media_items" db=0.6ms 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 [4182526] 13:34:02.258 [debug] Current batch of media processed. Will check again in 1000ms 13:34:03.259 [debug] Current batch of media processed. Will check again in 1000ms 13:34:04.260 [debug] Current batch of media processed. Will check again in 1000ms 13:34:05.261 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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" => 621, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", "id" => "i16PHb8EagE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i16PHb8EagE", "playlist_index" => 3, "timestamp" => 1791744331, "title" => "A.I. Bots Have Taken Over Our Lives", "upload_date" => "20261011"} 13:34:05.262 [debug] QUERY OK source="sources" db=0.2ms idle=1803.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:05.262 [debug] QUERY OK source="sources" db=0.1ms idle=1803.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:05.266 [debug] QUERY OK source="media_items" db=3.4ms idle=1804.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-11 18:45:31Z], 35] 13:34:05.267 [debug] QUERY OK source="media_items" db=1.1ms idle=1039.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" ["Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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. Bots Have Taken Over Our Lives", "7354221a-796d-42c3-a2c4-8baf8a3977ee", "i16PHb8EagE", 621, false, "https://www.youtube.com/watch?v=i16PHb8EagE", 3, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", false, false, false, 35, [], 98, ~U[2026-10-11 18:45:31Z], ~U[2026-10-26 18:34:05Z], ~U[2026-10-26 18:34:05Z], "Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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. Bots Have Taken Over Our Lives", "i16PHb8EagE", 621, false, "https://www.youtube.com/watch?v=i16PHb8EagE", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", false, 35, ~U[2026-10-11 18:45:31Z]] 13:34:05.268 [debug] QUERY OK source="sources" db=0.2ms idle=39.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:05.268 [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] 13:34:05.269 [debug] QUERY OK source="media_items" db=0.2ms 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 [4128476] 13:34:05.269 [debug] Current batch of media processed. Will check again in 1000ms 13:34:06.269 [debug] Current batch of media processed. Will check again in 1000ms 13:34:07.270 [debug] Current batch of media processed. Will check again in 1000ms 13:34:08.271 [debug] Current batch of media processed. Will check again in 1000ms 13:34:09.272 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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" => 475, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", "id" => "q7kF6Jb2a8w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=q7kF6Jb2a8w", "playlist_index" => 4, "timestamp" => 1791118826, "title" => "Linux Distros Should Stop Worrying About Their Desktops", "upload_date" => "20261004"} 13:34:09.273 [debug] QUERY OK source="sources" db=0.2ms idle=814.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:09.273 [debug] QUERY OK source="sources" db=0.1ms idle=814.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:09.277 [debug] QUERY OK source="media_items" db=3.5ms idle=815.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-04 13:00:26Z], 35] 13:34:09.279 [debug] QUERY OK source="media_items" db=1.0ms idle=819.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 think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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 Distros Should Stop Worrying About Their Desktops", "3d59926b-84fe-477e-aacd-096d0380d089", "q7kF6Jb2a8w", 475, false, "https://www.youtube.com/watch?v=q7kF6Jb2a8w", 4, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", false, false, false, 35, [], 98, ~U[2026-10-04 13:00:26Z], ~U[2026-10-26 18:34:09Z], ~U[2026-10-26 18:34:09Z], "I think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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 Distros Should Stop Worrying About Their Desktops", "q7kF6Jb2a8w", 475, false, "https://www.youtube.com/watch?v=q7kF6Jb2a8w", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", false, 35, ~U[2026-10-04 13:00:26Z]] 13:34:09.279 [debug] QUERY OK source="sources" db=0.2ms idle=46.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:09.280 [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] 13:34:09.280 [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 [4073440] 13:34:09.280 [debug] Current batch of media processed. Will check again in 1000ms 13:34:10.281 [debug] Current batch of media processed. Will check again in 1000ms 13:34:11.282 [debug] Current batch of media processed. Will check again in 1000ms 13:34:12.283 [debug] Current batch of media processed. Will check again in 1000ms 13:34:13.284 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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" => 1699, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", "id" => "czYbW2UKRdE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=czYbW2UKRdE", "playlist_index" => 5, "timestamp" => 1790434825, "title" => "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "upload_date" => "20260926"} 13:34:13.285 [debug] QUERY OK source="sources" db=0.2ms idle=826.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:13.285 [debug] QUERY OK source="sources" db=0.1ms idle=827.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:13.289 [debug] QUERY OK source="media_items" db=3.8ms idle=827.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-26 15:00:25Z], 35] 13:34:13.292 [debug] QUERY OK source="media_items" db=1.9ms idle=831.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" ["On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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!", "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "699b317f-6636-4e5c-a293-5b4b4483f3e6", "czYbW2UKRdE", 1699, false, "https://www.youtube.com/watch?v=czYbW2UKRdE", 5, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", false, false, false, 35, [], 98, ~U[2026-09-26 15:00:25Z], ~U[2026-10-26 18:34:13Z], ~U[2026-10-26 18:34:13Z], "On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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!", "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "czYbW2UKRdE", 1699, false, "https://www.youtube.com/watch?v=czYbW2UKRdE", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", false, 35, ~U[2026-09-26 15:00:25Z]] 13:34:13.292 [debug] QUERY OK source="sources" db=0.2ms idle=53.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:13.293 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:34:13.293 [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 [4011004] 13:34:13.293 [debug] Current batch of media processed. Will check again in 1000ms 13:34:14.294 [debug] Current batch of media processed. Will check again in 1000ms 13:34:15.295 [debug] Current batch of media processed. Will check again in 1000ms 13:34:16.296 [debug] Current batch of media processed. Will check again in 1000ms 13:34:17.297 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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" => 1093, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", "id" => "3RfulXEEEN4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3RfulXEEEN4", "playlist_index" => 6, "timestamp" => 1789833606, "title" => "Vidman - A Program To View Video Man Pages", "upload_date" => "20260919"} 13:34:17.298 [debug] QUERY OK source="sources" db=0.2ms idle=839.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:17.298 [debug] QUERY OK source="sources" db=0.2ms idle=839.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:34:17.302 [debug] QUERY OK source="media_items" db=3.6ms idle=840.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-19 16:00:06Z], 35] 13:34:17.304 [debug] QUERY OK source="media_items" db=1.6ms idle=844.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" ["Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "Vidman - A Program To View Video Man Pages", "5f240078-a0df-4b79-82df-4ea84b0e4db2", "3RfulXEEEN4", 1093, false, "https://www.youtube.com/watch?v=3RfulXEEEN4", 6, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", false, false, false, 35, [], 98, ~U[2026-09-19 16:00:06Z], ~U[2026-10-26 18:34:17Z], ~U[2026-10-26 18:34:17Z], "Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "Vidman - A Program To View Video Man Pages", "3RfulXEEEN4", 1093, false, "https://www.youtube.com/watch?v=3RfulXEEEN4", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", false, 35, ~U[2026-09-19 16:00:06Z]] 13:34:17.305 [debug] QUERY OK source="sources" db=0.2ms idle=60.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:17.305 [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] 13:34:17.306 [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 [3959280] 13:34:17.306 [debug] Current batch of media processed. Will check again in 1000ms 13:34:18.306 [debug] Current batch of media processed. Will check again in 1000ms 13:34:19.307 [debug] Current batch of media processed. Will check again in 1000ms 13:34:20.308 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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" => 367, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", "id" => "2SyiQrsPyu8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2SyiQrsPyu8", "playlist_index" => 7, "timestamp" => 1789222519, "title" => "'nl' - number lines of files - Video Man Pages", "upload_date" => "20260912"} 13:34:20.309 [debug] QUERY OK source="sources" db=0.2ms idle=1850.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:20.309 [debug] QUERY OK source="sources" db=0.1ms idle=1851.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:20.313 [debug] QUERY OK source="media_items" db=3.4ms idle=1851.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-12 14:15:19Z], 35] 13:34:20.319 [debug] QUERY OK source="media_items" db=4.9ms idle=1066.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 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "'nl' - number lines of files - Video Man Pages", "46f02f0e-bb75-4477-bbea-01952ff727f0", "2SyiQrsPyu8", 367, false, "https://www.youtube.com/watch?v=2SyiQrsPyu8", 7, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", false, false, false, 35, [], 98, ~U[2026-09-12 14:15:19Z], ~U[2026-10-26 18:34:20Z], ~U[2026-10-26 18:34:20Z], "The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "'nl' - number lines of files - Video Man Pages", "2SyiQrsPyu8", 367, false, "https://www.youtube.com/watch?v=2SyiQrsPyu8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", false, 35, ~U[2026-09-12 14:15:19Z]] 13:34:20.319 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [35] 13:34:20.319 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:34:20.320 [debug] QUERY OK source="media_items" db=0.2ms idle=10.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 [3903107] 13:34:20.320 [debug] Current batch of media processed. Will check again in 1000ms 13:34:21.320 [debug] Current batch of media processed. Will check again in 1000ms 13:34:22.321 [debug] Current batch of media processed. Will check again in 1000ms 13:34:23.322 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Politics infects everything...including Linux. Don't let this happen!\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" => 127, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", "id" => "DvI93IJvNSQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DvI93IJvNSQ", "playlist_index" => 8, "timestamp" => 1788627603, "title" => "Don't Let Linux Become Like This!", "upload_date" => "20260905"} 13:34:23.323 [debug] QUERY OK source="sources" db=0.3ms idle=1864.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:23.323 [debug] QUERY OK source="sources" db=0.1ms idle=1864.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:23.327 [debug] QUERY OK source="media_items" db=3.4ms idle=1865.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-05 17:00:03Z], 35] 13:34:23.329 [debug] QUERY OK source="media_items" db=1.4ms idle=1076.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" ["Politics infects everything...including Linux. Don't let this happen!\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!", "Don't Let Linux Become Like This!", "75e199f2-97f7-4d92-af25-c30935751d59", "DvI93IJvNSQ", 127, false, "https://www.youtube.com/watch?v=DvI93IJvNSQ", 8, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", false, false, false, 35, [], 98, ~U[2026-09-05 17:00:03Z], ~U[2026-10-26 18:34:23Z], ~U[2026-10-26 18:34:23Z], "Politics infects everything...including Linux. Don't let this happen!\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!", "Don't Let Linux Become Like This!", "DvI93IJvNSQ", 127, false, "https://www.youtube.com/watch?v=DvI93IJvNSQ", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", false, 35, ~U[2026-09-05 17:00:03Z]] 13:34:23.329 [debug] QUERY OK source="sources" db=0.2ms idle=77.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:23.330 [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] 13:34:23.330 [debug] QUERY OK source="media_items" db=0.2ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3848595] 13:34:23.330 [debug] Current batch of media processed. Will check again in 1000ms 13:34:24.331 [debug] Current batch of media processed. Will check again in 1000ms 13:34:25.332 [debug] Current batch of media processed. Will check again in 1000ms 13:34:26.333 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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" => 339, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", "id" => "Jg3Hal7vPUo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Jg3Hal7vPUo", "playlist_index" => 9, "timestamp" => 1788025041, "title" => "'yes' - output a string repeatedly - Video Man Pages", "upload_date" => "20260829"} 13:34:26.334 [debug] QUERY OK source="sources" db=0.1ms idle=1875.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:34:26.334 [debug] QUERY OK source="sources" db=0.0ms idle=1875.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:26.337 [debug] QUERY OK source="media_items" db=2.9ms idle=1875.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-29 17:37:21Z], 35] 13:34:26.340 [debug] QUERY OK source="media_items" db=1.8ms idle=1082.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" ["The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'yes' - output a string repeatedly - Video Man Pages", "740e670f-e948-422c-b7cb-efaa590d9fe0", "Jg3Hal7vPUo", 339, false, "https://www.youtube.com/watch?v=Jg3Hal7vPUo", 9, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", false, false, false, 35, [], 97, ~U[2026-08-29 17:37:21Z], ~U[2026-10-26 18:34:26Z], ~U[2026-10-26 18:34:26Z], "The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'yes' - output a string repeatedly - Video Man Pages", "Jg3Hal7vPUo", 339, false, "https://www.youtube.com/watch?v=Jg3Hal7vPUo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", false, 35, ~U[2026-08-29 17:37:21Z]] 13:34:26.340 [debug] QUERY OK source="sources" db=0.1ms idle=83.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:26.340 [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] 13:34:26.340 [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 [3793401] 13:34:26.340 [debug] Current batch of media processed. Will check again in 1000ms 13:34:27.341 [debug] Current batch of media processed. Will check again in 1000ms 13:34:28.342 [debug] Current batch of media processed. Will check again in 1000ms 13:34:29.343 [debug] Current batch of media processed. Will check again in 1000ms 13:34:29.740 [info] {"source":"oban","duration":8270,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:34:30.344 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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" => 139, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", "id" => "-8zN6rhA4hU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-8zN6rhA4hU", "playlist_index" => 10, "timestamp" => 1788025027, "title" => "'basename' - strip directory from filenames - Video Man Pages", "upload_date" => "20260829"} 13:34:30.345 [debug] QUERY OK source="sources" db=0.3ms idle=886.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:30.345 [debug] QUERY OK source="sources" db=0.1ms idle=886.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:30.349 [debug] QUERY OK source="media_items" db=3.6ms idle=887.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-29 17:37:07Z], 35] 13:34:30.352 [debug] QUERY OK source="media_items" db=2.0ms idle=609.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 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'basename' - strip directory from filenames - Video Man Pages", "72423724-7bac-4aff-a072-154685903f7f", "-8zN6rhA4hU", 139, false, "https://www.youtube.com/watch?v=-8zN6rhA4hU", 10, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", false, false, false, 35, [], 97, ~U[2026-08-29 17:37:07Z], ~U[2026-10-26 18:34:30Z], ~U[2026-10-26 18:34:30Z], "The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'basename' - strip directory from filenames - Video Man Pages", "-8zN6rhA4hU", 139, false, "https://www.youtube.com/watch?v=-8zN6rhA4hU", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", false, 35, ~U[2026-08-29 17:37:07Z]] 13:34:30.352 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [35] 13:34:30.352 [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] 13:34:30.353 [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 [3793403] 13:34:30.353 [debug] Current batch of media processed. Will check again in 1000ms 13:34:31.354 [debug] Current batch of media processed. Will check again in 1000ms 13:34:32.355 [debug] Current batch of media processed. Will check again in 1000ms 13:34:33.356 [debug] Current batch of media processed. Will check again in 1000ms 13:34:34.357 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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" => 541, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", "id" => "A6XI_0DWQOw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=A6XI_0DWQOw", "playlist_index" => 11, "timestamp" => 1785589225, "title" => "The Age Of Beginner Friendly Distros Is Over", "upload_date" => "20260801"} 13:34:34.358 [debug] QUERY OK source="sources" db=0.2ms idle=899.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:34.358 [debug] QUERY OK source="sources" db=0.1ms idle=899.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:34.361 [debug] QUERY OK source="media_items" db=2.7ms idle=900.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-01 13:00:25Z], 35] 13:34:34.380 [debug] QUERY OK source="media_items" db=17.8ms idle=903.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" ["Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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!", "The Age Of Beginner Friendly Distros Is Over", "1293528d-3c2b-44ad-a12f-856cb28c0502", "A6XI_0DWQOw", 541, false, "https://www.youtube.com/watch?v=A6XI_0DWQOw", 11, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", false, false, false, 35, [], 98, ~U[2026-08-01 13:00:25Z], ~U[2026-10-26 18:34:34Z], ~U[2026-10-26 18:34:34Z], "Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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!", "The Age Of Beginner Friendly Distros Is Over", "A6XI_0DWQOw", 541, false, "https://www.youtube.com/watch?v=A6XI_0DWQOw", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", false, 35, ~U[2026-08-01 13:00:25Z]] 13:34:34.380 [debug] QUERY OK source="sources" db=0.2ms idle=112.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:34.380 [debug] QUERY OK source="media_profiles" db=0.1ms idle=22.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:34:34.381 [debug] QUERY OK source="media_items" db=0.6ms idle=22.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3571449] 13:34:34.381 [debug] Current batch of media processed. Will check again in 1000ms 13:34:35.382 [debug] Current batch of media processed. Will check again in 1000ms 13:34:36.383 [debug] Current batch of media processed. Will check again in 1000ms 13:34:37.384 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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" => 534, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", "id" => "-IQ75MwPS0M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-IQ75MwPS0M", "playlist_index" => 12, "timestamp" => 1784898025, "title" => "The Mousam Weather App For Linux", "upload_date" => "20260724"} 13:34:37.385 [debug] QUERY OK source="sources" db=0.2ms idle=1926.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:37.385 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:34:37.388 [debug] QUERY OK source="media_items" db=2.7ms idle=1927.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 13:00:25Z], 35] 13:34:37.394 [debug] QUERY OK source="media_items" db=5.2ms idle=1118.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" ["Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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!", "The Mousam Weather App For Linux", "81a6b0df-90e3-47e5-8c77-9816071e31b2", "-IQ75MwPS0M", 534, false, "https://www.youtube.com/watch?v=-IQ75MwPS0M", 12, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", false, false, false, 35, [], 98, ~U[2026-07-24 13:00:25Z], ~U[2026-10-26 18:34:37Z], ~U[2026-10-26 18:34:37Z], "Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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!", "The Mousam Weather App For Linux", "-IQ75MwPS0M", 534, false, "https://www.youtube.com/watch?v=-IQ75MwPS0M", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", false, 35, ~U[2026-07-24 13:00:25Z]] 13:34:37.394 [debug] QUERY OK source="sources" db=0.2ms idle=122.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:37.395 [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] 13:34:37.395 [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 [3508688] 13:34:37.395 [debug] Current batch of media processed. Will check again in 1000ms 13:34:38.395 [debug] Current batch of media processed. Will check again in 1000ms 13:34:39.396 [debug] Current batch of media processed. Will check again in 1000ms 13:34:40.397 [debug] Current batch of media processed. Will check again in 1000ms 13:34:41.398 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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" => 678, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", "id" => "cp8si5zO2m0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cp8si5zO2m0", "playlist_index" => 13, "timestamp" => 1784293232, "title" => "I'm Not A Web Dev...So Claude Designed A Website For Me!", "upload_date" => "20260717"} 13:34:41.399 [debug] QUERY OK source="sources" db=0.2ms idle=940.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:41.399 [debug] QUERY OK source="sources" db=0.1ms idle=940.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:41.403 [debug] QUERY OK source="media_items" db=3.8ms idle=941.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-17 13:00:32Z], 35] 13:34:41.406 [debug] QUERY OK source="media_items" db=2.0ms idle=945.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" ["So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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 Not A Web Dev...So Claude Designed A Website For Me!", "d216a5e1-f73c-4dba-a5ae-ae2d06508669", "cp8si5zO2m0", 678, false, "https://www.youtube.com/watch?v=cp8si5zO2m0", 13, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", false, false, false, 35, [], 98, ~U[2026-07-17 13:00:32Z], ~U[2026-10-26 18:34:41Z], ~U[2026-10-26 18:34:41Z], "So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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 Not A Web Dev...So Claude Designed A Website For Me!", "cp8si5zO2m0", 678, false, "https://www.youtube.com/watch?v=cp8si5zO2m0", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", false, 35, ~U[2026-07-17 13:00:32Z]] 13:34:41.407 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [35] 13:34:41.407 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:34:41.407 [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 [3453444] 13:34:41.407 [debug] Current batch of media processed. Will check again in 1000ms 13:34:42.408 [debug] Current batch of media processed. Will check again in 1000ms 13:34:43.409 [debug] Current batch of media processed. Will check again in 1000ms 13:34:44.410 [debug] Current batch of media processed. Will check again in 1000ms 13:34:45.411 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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" => 607, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", "id" => "cLqiG_ZfDyU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cLqiG_ZfDyU", "playlist_index" => 14, "timestamp" => 1783688428, "title" => "Shelly Is A GUI Package Manager For Arch Linux", "upload_date" => "20260710"} 13:34:45.412 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=953.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:45.413 [debug] QUERY OK source="sources" db=0.1ms idle=954.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:45.416 [debug] QUERY OK source="media_items" db=3.5ms idle=954.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-10 13:00:28Z], 35] 13:34:45.418 [debug] QUERY OK source="media_items" db=1.3ms idle=958.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" ["Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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!", "Shelly Is A GUI Package Manager For Arch Linux", "f247a12e-0e3b-485c-815b-529cc9f9dabe", "cLqiG_ZfDyU", 607, false, "https://www.youtube.com/watch?v=cLqiG_ZfDyU", 14, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", false, false, false, 35, [], 98, ~U[2026-07-10 13:00:28Z], ~U[2026-10-26 18:34:45Z], ~U[2026-10-26 18:34:45Z], "Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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!", "Shelly Is A GUI Package Manager For Arch Linux", "cLqiG_ZfDyU", 607, false, "https://www.youtube.com/watch?v=cLqiG_ZfDyU", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", false, 35, ~U[2026-07-10 13:00:28Z]] 13:34:45.419 [debug] QUERY OK source="sources" db=0.2ms idle=135.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:45.419 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:34:45.420 [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 [3398403] 13:34:45.420 [debug] Current batch of media processed. Will check again in 1000ms 13:34:46.420 [debug] Current batch of media processed. Will check again in 1000ms 13:34:47.421 [debug] Current batch of media processed. Will check again in 1000ms 13:34:48.422 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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" => 776, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", "id" => "bBS4do3RbQY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bBS4do3RbQY", "playlist_index" => 15, "timestamp" => 1783097125, "title" => "Windows Has These Apps...Linux Doesn't!", "upload_date" => "20260703"} 13:34:48.423 [debug] QUERY OK source="sources" db=0.3ms idle=1964.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:48.424 [debug] QUERY OK source="sources" db=0.1ms idle=1965.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:48.427 [debug] QUERY OK source="media_items" db=3.6ms idle=1965.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 16:45:25Z], 35] 13:34:48.429 [debug] QUERY OK source="media_items" db=1.2ms idle=1142.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 use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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!", "Windows Has These Apps...Linux Doesn't!", "cf0d591e-1434-47b7-8476-9eeb9a7ff805", "bBS4do3RbQY", 776, false, "https://www.youtube.com/watch?v=bBS4do3RbQY", 15, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", false, false, false, 35, [], 98, ~U[2026-07-03 16:45:25Z], ~U[2026-10-26 18:34:48Z], ~U[2026-10-26 18:34:48Z], "If you use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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!", "Windows Has These Apps...Linux Doesn't!", "bBS4do3RbQY", 776, false, "https://www.youtube.com/watch?v=bBS4do3RbQY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", false, 35, ~U[2026-07-03 16:45:25Z]] 13:34:48.430 [debug] QUERY OK source="sources" db=0.2ms idle=142.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:48.430 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:34:48.430 [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 [3344542] 13:34:48.431 [debug] Current batch of media processed. Will check again in 1000ms 13:34:49.431 [debug] Current batch of media processed. Will check again in 1000ms 13:34:50.432 [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" => 16, "timestamp" => 1782478816, "title" => "RefreshOS Combines Debian Stability With KDE Beauty", "upload_date" => "20260626"} 13:34:50.433 [debug] QUERY OK source="sources" db=0.3ms idle=974.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:50.433 [debug] QUERY OK source="sources" db=0.1ms idle=975.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:50.437 [debug] QUERY OK source="media_items" db=3.5ms idle=975.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] 13:34:50.439 [debug] QUERY OK source="media_items" db=1.2ms idle=979.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" ["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", "70e04a8a-b8d6-410d-9059-e332f2a4b180", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", 16, "/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-10-26 18:34:50Z], ~U[2026-10-26 18:34:50Z], "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]] 13:34:50.439 [debug] QUERY OK source="sources" db=0.2ms idle=149.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:50.440 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:34:50.440 [debug] QUERY OK source="media_items" db=0.2ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3288646] 13:34:50.440 [debug] Current batch of media processed. Will check again in 1000ms 13:34:51.441 [debug] Current batch of media processed. Will check again in 1000ms 13:34:52.442 [debug] Current batch of media processed. Will check again in 1000ms 13:34:53.443 [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" => 17, "timestamp" => 1782046833, "title" => "Install Programs From Any Linux Distro With BoxBuddy", "upload_date" => "20260621"} 13:34:53.444 [debug] QUERY OK source="sources" db=0.1ms idle=1985.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:53.444 [debug] QUERY OK source="sources" db=0.1ms idle=1985.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:34:53.447 [debug] QUERY OK source="media_items" db=2.7ms idle=1986.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] 13:34:53.449 [debug] QUERY OK source="media_items" db=1.6ms idle=1154.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" ["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", "50255abd-3b2a-4e46-a26c-92e11e760934", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", 17, "/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-10-26 18:34:53Z], ~U[2026-10-26 18:34:53Z], "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]] 13:34:53.449 [debug] QUERY OK source="sources" db=0.1ms idle=155.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:53.450 [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] 13:34:53.450 [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 [3249148] 13:34:53.450 [debug] Current batch of media processed. Will check again in 1000ms 13:34:54.451 [debug] Current batch of media processed. Will check again in 1000ms 13:34:55.452 [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" => 18, "timestamp" => 1781614828, "title" => "Is It Time To Leave Arch Linux?", "upload_date" => "20260616"} 13:34:55.453 [debug] QUERY OK source="sources" db=0.2ms idle=994.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:34:55.453 [debug] QUERY OK source="sources" db=0.1ms idle=994.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:34:55.457 [debug] QUERY OK source="media_items" db=3.4ms idle=995.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 13:00:28Z], 35] 13:34:55.459 [debug] QUERY OK source="media_items" db=2.0ms idle=998.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" ["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?", "c80d5294-e0af-4507-96d5-fb8119e3ef7e", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", 18, "/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-10-26 18:34:55Z], ~U[2026-10-26 18:34:55Z], "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]] 13:34:55.460 [debug] QUERY OK source="sources" db=0.2ms idle=162.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:34:55.460 [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] 13:34:55.461 [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 [3209684] 13:34:55.461 [debug] Current batch of media processed. Will check again in 1000ms 13:34:56.461 [debug] Current batch of media processed. Will check again in 1000ms 13:34:57.462 [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" => 19, "timestamp" => 1781281820, "title" => "Major Malware Incident Hits Arch AUR!", "upload_date" => "20260612"} 13:34:57.463 [debug] QUERY OK source="sources" db=0.2ms idle=163.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 13:34:57.463 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:34:57.467 [debug] QUERY OK source="media_items" db=3.5ms 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-06-12 16:30:20Z], 35] 13:34:57.469 [debug] QUERY OK source="media_items" db=1.8ms 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" ["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!", "ec7c3f9b-4009-489d-a041-be32e64153e5", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", 19, "/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-10-26 18:34:57Z], ~U[2026-10-26 18:34:57Z], "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]] 13:34:57.470 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:34:57.470 [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] 13:34:57.471 [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 [3178989] 13:34:57.471 [debug] Current batch of media processed. Will check again in 1000ms 13:34:58.471 [debug] Current batch of media processed. Will check again in 1000ms 13:34:59.473 [debug] Current batch of media processed. Will check again in 1000ms 13:34:59.748 [info] {"source":"oban","duration":7059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.191 [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/ad/bd/adbd9070e47d5e86b76b5f44fc63949734166ebdcb4b7366262340dffdd59bb7.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/07/a0/07a0b496daddcf95de9fe8f9a9e58ca44545354bc8e355cbc06141aee70998ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:35:00.192 [debug] Gracefully stopping file follower 13:35:00.192 [debug] QUERY OK source="sources" db=0.3ms idle=733.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:35:00.193 [debug] QUERY OK source="sources" db=0.1ms idle=734.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:35:00.196 [debug] QUERY OK source="media_items" db=2.8ms idle=734.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 20:15:16Z], 35] 13:35:00.197 [debug] QUERY OK source="media_items" db=1.0ms idle=737.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" ["ProtoArc recently sent me their new EM06 trackball mouse to try out. This mouse is a 55mm center ball mouse with 7 programmable buttons. Configuration is simple and done through the web browser. Works on Windows, Mac and Linux! \n\nREFERENCED:\n► https://www.protoarc.com/products/em06-customizable-finger-trackball-mouse\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!", "The Brilliantly Designed ProtoArc EM06 Trackball Mouse", "353a58f3-fec3-4b69-8d83-c5230263e8c2", "EUbWgy5MZOw", 1314, false, "https://www.youtube.com/watch?v=EUbWgy5MZOw", 1, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e102400_The Brilliantly Designed ProtoArc EM06 Trackball Mouse.mp4", false, false, false, 35, [], 98, ~U[2026-10-24 20:15:16Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "ProtoArc recently sent me their new EM06 trackball mouse to try out. This mouse is a 55mm center ball mouse with 7 programmable buttons. Configuration is simple and done through the web browser. Works on Windows, Mac and Linux! \n\nREFERENCED:\n► https://www.protoarc.com/products/em06-customizable-finger-trackball-mouse\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!", "The Brilliantly Designed ProtoArc EM06 Trackball Mouse", "EUbWgy5MZOw", 1314, false, "https://www.youtube.com/watch?v=EUbWgy5MZOw", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e102400_The Brilliantly Designed ProtoArc EM06 Trackball Mouse.mp4", false, 35, ~U[2026-10-24 20:15:16Z]] 13:35:00.198 [debug] QUERY OK source="sources" db=0.6ms idle=448.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:35:00.201 [debug] QUERY OK source="media_items" db=3.0ms idle=5.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-18 15:00:06Z], 35] 13:35:00.202 [debug] QUERY OK source="media_items" db=0.9ms 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" ["FunOS is a GNU/Linux distribution based on Ubuntu LTS. It uses the JWM window manager, comes without Snap, and includes the latest Ubuntu HWE kernel. Perfect for users who want a fast and minimal Linux experience without sacrificing stability.\n\nREFERENCED:\n► https://funos.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!", "An Installation and First Look at FunOS", "465ba3fa-adfb-42ce-9139-92c6826d8a65", "sUUKNgzF-pQ", 1267, false, "https://www.youtube.com/watch?v=sUUKNgzF-pQ", 2, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101800_An Installation and First Look at FunOS.mp4", false, false, false, 35, [], 98, ~U[2026-10-18 15:00:06Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "FunOS is a GNU/Linux distribution based on Ubuntu LTS. It uses the JWM window manager, comes without Snap, and includes the latest Ubuntu HWE kernel. Perfect for users who want a fast and minimal Linux experience without sacrificing stability.\n\nREFERENCED:\n► https://funos.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!", "An Installation and First Look at FunOS", "sUUKNgzF-pQ", 1267, false, "https://www.youtube.com/watch?v=sUUKNgzF-pQ", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101800_An Installation and First Look at FunOS.mp4", false, 35, ~U[2026-10-18 15:00:06Z]] 13:35:00.203 [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" = ?) [35] 13:35:00.206 [debug] QUERY OK source="media_items" db=2.7ms 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-10-11 18:45:31Z], 35] 13:35:00.207 [debug] QUERY OK source="media_items" db=0.9ms 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" ["Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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. Bots Have Taken Over Our Lives", "80022e18-d884-4475-abef-90931b04b84b", "i16PHb8EagE", 621, false, "https://www.youtube.com/watch?v=i16PHb8EagE", 3, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", false, false, false, 35, [], 98, ~U[2026-10-11 18:45:31Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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. Bots Have Taken Over Our Lives", "i16PHb8EagE", 621, false, "https://www.youtube.com/watch?v=i16PHb8EagE", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", false, 35, ~U[2026-10-11 18:45:31Z]] 13:35:00.207 [debug] QUERY OK source="sources" db=0.4ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:35:00.211 [debug] QUERY OK source="media_items" db=2.9ms 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-10-04 13:00:26Z], 35] 13:35:00.216 [debug] QUERY OK source="media_items" db=4.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" ["I think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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 Distros Should Stop Worrying About Their Desktops", "484d6103-9bc3-419b-b51c-7300c134c18d", "q7kF6Jb2a8w", 475, false, "https://www.youtube.com/watch?v=q7kF6Jb2a8w", 4, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", false, false, false, 35, [], 98, ~U[2026-10-04 13:00:26Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "I think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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 Distros Should Stop Worrying About Their Desktops", "q7kF6Jb2a8w", 475, false, "https://www.youtube.com/watch?v=q7kF6Jb2a8w", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", false, 35, ~U[2026-10-04 13:00:26Z]] 13:35:00.217 [debug] QUERY OK source="sources" db=0.5ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:35:00.219 [debug] QUERY OK source="media_items" db=2.6ms 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-09-26 15:00:25Z], 35] 13:35:00.221 [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" ["On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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!", "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "5f1abea3-dc27-49f6-b586-9843058d10a9", "czYbW2UKRdE", 1699, false, "https://www.youtube.com/watch?v=czYbW2UKRdE", 5, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", false, false, false, 35, [], 98, ~U[2026-09-26 15:00:25Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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!", "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "czYbW2UKRdE", 1699, false, "https://www.youtube.com/watch?v=czYbW2UKRdE", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", false, 35, ~U[2026-09-26 15:00:25Z]] 13:35:00.221 [debug] QUERY OK source="sources" db=0.4ms idle=10.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:35:00.224 [debug] QUERY OK source="media_items" db=2.8ms idle=5.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-19 16:00:06Z], 35] 13:35:00.226 [debug] QUERY OK source="media_items" db=1.1ms 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" ["Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "Vidman - A Program To View Video Man Pages", "e2afb2f2-436d-46ba-b115-77d1b2713393", "3RfulXEEEN4", 1093, false, "https://www.youtube.com/watch?v=3RfulXEEEN4", 6, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", false, false, false, 35, [], 98, ~U[2026-09-19 16:00:06Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "Vidman - A Program To View Video Man Pages", "3RfulXEEEN4", 1093, false, "https://www.youtube.com/watch?v=3RfulXEEEN4", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", false, 35, ~U[2026-09-19 16:00:06Z]] 13:35:00.227 [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" = ?) [35] 13:35:00.230 [debug] QUERY OK source="media_items" db=2.9ms 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-09-12 14:15:19Z], 35] 13:35:00.231 [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" ["The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "'nl' - number lines of files - Video Man Pages", "86ce2bd2-5f96-44ff-8aab-0759c5e3b396", "2SyiQrsPyu8", 367, false, "https://www.youtube.com/watch?v=2SyiQrsPyu8", 7, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", false, false, false, 35, [], 98, ~U[2026-09-12 14:15:19Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "'nl' - number lines of files - Video Man Pages", "2SyiQrsPyu8", 367, false, "https://www.youtube.com/watch?v=2SyiQrsPyu8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", false, 35, ~U[2026-09-12 14:15:19Z]] 13:35:00.232 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [35] 13:35:00.235 [debug] QUERY OK source="media_items" db=3.0ms 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-09-05 17:00:03Z], 35] 13:35:00.236 [debug] QUERY OK source="media_items" db=0.8ms 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" ["Politics infects everything...including Linux. Don't let this happen!\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!", "Don't Let Linux Become Like This!", "017621c7-c034-4142-9402-c0199bcef211", "DvI93IJvNSQ", 127, false, "https://www.youtube.com/watch?v=DvI93IJvNSQ", 8, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", false, false, false, 35, [], 98, ~U[2026-09-05 17:00:03Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "Politics infects everything...including Linux. Don't let this happen!\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!", "Don't Let Linux Become Like This!", "DvI93IJvNSQ", 127, false, "https://www.youtube.com/watch?v=DvI93IJvNSQ", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", false, 35, ~U[2026-09-05 17:00:03Z]] 13:35:00.237 [debug] QUERY OK source="sources" db=0.4ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:35:00.240 [debug] QUERY OK source="media_items" db=2.7ms 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-08-29 17:37:21Z], 35] 13:35:00.241 [debug] QUERY OK source="media_items" db=1.0ms idle=8.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" ["The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'yes' - output a string repeatedly - Video Man Pages", "894b6994-6394-4395-b5bd-9137a646171c", "Jg3Hal7vPUo", 339, false, "https://www.youtube.com/watch?v=Jg3Hal7vPUo", 9, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", false, false, false, 35, [], 97, ~U[2026-08-29 17:37:21Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'yes' - output a string repeatedly - Video Man Pages", "Jg3Hal7vPUo", 339, false, "https://www.youtube.com/watch?v=Jg3Hal7vPUo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", false, 35, ~U[2026-08-29 17:37:21Z]] 13:35:00.242 [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" = ?) [35] 13:35:00.245 [debug] QUERY OK source="media_items" db=2.5ms idle=5.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-29 17:37:07Z], 35] 13:35:00.246 [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" ["The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'basename' - strip directory from filenames - Video Man Pages", "9dad3a0a-387f-409a-8888-d28ea08cc4ab", "-8zN6rhA4hU", 139, false, "https://www.youtube.com/watch?v=-8zN6rhA4hU", 10, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", false, false, false, 35, [], 97, ~U[2026-08-29 17:37:07Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'basename' - strip directory from filenames - Video Man Pages", "-8zN6rhA4hU", 139, false, "https://www.youtube.com/watch?v=-8zN6rhA4hU", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", false, 35, ~U[2026-08-29 17:37:07Z]] 13:35:00.246 [debug] QUERY OK source="sources" db=0.4ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:35:00.249 [debug] QUERY OK source="media_items" db=2.5ms 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-08-01 13:00:25Z], 35] 13:35:00.249 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:35:00.250 [debug] QUERY OK source="media_items" db=1.0ms 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" ["Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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!", "The Age Of Beginner Friendly Distros Is Over", "7f64474b-ceae-497a-ab3b-45f1476a6ae7", "A6XI_0DWQOw", 541, false, "https://www.youtube.com/watch?v=A6XI_0DWQOw", 11, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", false, false, false, 35, [], 98, ~U[2026-08-01 13:00:25Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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!", "The Age Of Beginner Friendly Distros Is Over", "A6XI_0DWQOw", 541, false, "https://www.youtube.com/watch?v=A6XI_0DWQOw", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", false, 35, ~U[2026-08-01 13:00:25Z]] 13:35:00.251 [debug] QUERY OK source="sources" db=0.1ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:35:00.254 [debug] QUERY OK source="media_items" db=2.6ms 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-07-24 13:00:25Z], 35] 13:35:00.256 [debug] QUERY OK source="media_items" db=2.2ms 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" ["Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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!", "The Mousam Weather App For Linux", "e621b8de-5e7b-4fd8-bbbb-3fc6c9b5742a", "-IQ75MwPS0M", 534, false, "https://www.youtube.com/watch?v=-IQ75MwPS0M", 12, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", false, false, false, 35, [], 98, ~U[2026-07-24 13:00:25Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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!", "The Mousam Weather App For Linux", "-IQ75MwPS0M", 534, false, "https://www.youtube.com/watch?v=-IQ75MwPS0M", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", false, 35, ~U[2026-07-24 13:00:25Z]] 13:35:00.257 [debug] QUERY OK source="sources" db=0.4ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:35:00.260 [debug] QUERY OK source="media_items" db=2.6ms 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-07-17 13:00:32Z], 35] 13:35:00.261 [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" ["So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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 Not A Web Dev...So Claude Designed A Website For Me!", "c16e3e6f-b99f-47a9-90db-cb86728a881e", "cp8si5zO2m0", 678, false, "https://www.youtube.com/watch?v=cp8si5zO2m0", 13, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", false, false, false, 35, [], 98, ~U[2026-07-17 13:00:32Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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 Not A Web Dev...So Claude Designed A Website For Me!", "cp8si5zO2m0", 678, false, "https://www.youtube.com/watch?v=cp8si5zO2m0", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", false, 35, ~U[2026-07-17 13:00:32Z]] 13:35:00.262 [debug] QUERY OK source="sources" db=0.4ms idle=7.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:35:00.265 [debug] QUERY OK source="media_items" db=2.8ms idle=5.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-10 13:00:28Z], 35] 13:35:00.266 [debug] QUERY OK source="media_items" db=0.9ms idle=8.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" ["Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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!", "Shelly Is A GUI Package Manager For Arch Linux", "02eb9962-aced-4389-9e18-f42e1939f3d3", "cLqiG_ZfDyU", 607, false, "https://www.youtube.com/watch?v=cLqiG_ZfDyU", 14, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", false, false, false, 35, [], 98, ~U[2026-07-10 13:00:28Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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!", "Shelly Is A GUI Package Manager For Arch Linux", "cLqiG_ZfDyU", 607, false, "https://www.youtube.com/watch?v=cLqiG_ZfDyU", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", false, 35, ~U[2026-07-10 13:00:28Z]] 13:35:00.267 [debug] QUERY OK source="sources" db=0.4ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:35:00.270 [debug] QUERY OK source="media_items" db=2.8ms idle=5.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 16:45:25Z], 35] 13:35:00.271 [debug] QUERY OK source="media_items" db=0.9ms 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" ["If you use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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!", "Windows Has These Apps...Linux Doesn't!", "4fdadb99-f19e-4b53-8d6e-e3215c1e2186", "bBS4do3RbQY", 776, false, "https://www.youtube.com/watch?v=bBS4do3RbQY", 15, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", false, false, false, 35, [], 98, ~U[2026-07-03 16:45:25Z], ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "If you use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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!", "Windows Has These Apps...Linux Doesn't!", "bBS4do3RbQY", 776, false, "https://www.youtube.com/watch?v=bBS4do3RbQY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", false, 35, ~U[2026-07-03 16:45:25Z]] 13:35:00.272 [debug] QUERY OK source="sources" db=0.4ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:35:00.275 [debug] QUERY OK source="media_items" db=2.7ms 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-26 13:00:16Z], 35] 13:35:00.276 [debug] QUERY OK source="media_items" db=1.0ms 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" ["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", "ef314d2e-4714-4059-8740-749f3ac7bd27", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", 16, "/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-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "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]] 13:35:00.277 [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" = ?) [35] 13:35:00.280 [debug] QUERY OK source="media_items" db=2.7ms 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-21 13:00:33Z], 35] 13:35:00.281 [debug] QUERY OK source="media_items" db=0.9ms 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" ["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", "f7e7dcd9-820b-4a75-8ab0-ef46b73e596a", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", 17, "/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-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "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]] 13:35:00.282 [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" = ?) [35] 13:35:00.284 [debug] QUERY OK source="media_items" db=2.7ms 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-16 13:00:28Z], 35] 13:35:00.286 [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" ["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?", "1ca1ed44-9ef3-48a6-a46c-85e156892335", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", 18, "/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-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "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]] 13:35:00.286 [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" = ?) [35] 13:35:00.289 [debug] QUERY OK source="media_items" db=2.6ms 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-06-12 16:30:20Z], 35] 13:35:00.290 [debug] QUERY OK source="media_items" db=0.9ms 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" ["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!", "e41fb9ea-290e-4273-961c-49a5d01880fd", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", 19, "/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-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "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]] 13:35:00.291 [debug] QUERY OK source="sources" db=0.4ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:35:00.294 [debug] QUERY OK source="media_items" db=2.6ms 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-08 13:00:33Z], 35] 13:35:00.296 [debug] QUERY OK source="media_items" db=1.5ms idle=7.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" ["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!)", "c2b5fd9a-a5fa-4d94-b804-4a46878756e3", "LuvxUKBXkqA", 826, false, "https://www.youtube.com/watch?v=LuvxUKBXkqA", 20, "/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-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], "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]] 13:35:00.296 [debug] QUERY OK source="sources" db=0.4ms idle=6.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z], 35] 13:35:00.299 [debug] QUERY OK source="media_items" db=2.8ms idle=6.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 13:35:00.302 [debug] QUERY OK source="media_items" db=2.7ms idle=8.4ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [35] 13:35:00.303 [debug] QUERY OK source="media_items" db=0.5ms idle=6.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 13:35:00.305 [debug] QUERY OK source="tasks" db=0.5ms idle=2.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541535, 35, ~U[2026-10-26 18:35:00Z], ~U[2026-10-26 18:35:00Z]] 13:35:00.305 [info] {"args":{"id":35},"id":541432,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":68085805,"event":"job:stop","queue_time":65396,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:35:29.758 [info] {"source":"oban","duration":9340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:59.763 [info] {"source":"oban","duration":4365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.250 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:36:20.246 [info] GET /sources/32/media/3528403/edit 13:36:20.246 [info] GET /sources/28/media/3347313 13:36:20.246 [info] GET /sources/28/media/3134529 13:36:20.246 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3528403", "source_id" => "32"} Pipelines: [:browser] 13:36:20.246 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3347313", "source_id" => "28"} Pipelines: [:browser] 13:36:20.246 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3134529", "source_id" => "28"} Pipelines: [:browser] 13:36:20.247 [debug] QUERY OK source="media_items" db=0.5ms idle=788.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" = ?) [3347313] 13:36:20.247 [debug] QUERY OK source="media_items" db=0.5ms idle=853.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" = ?) [3528403] 13:36:20.247 [debug] QUERY OK source="media_items" db=0.5ms idle=788.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" = ?) [3134529] 13:36:20.248 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:36:20.248 [debug] QUERY OK source="sources" db=0.5ms idle=789.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [28] 13:36:20.248 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [28] 13:36:20.248 [debug] QUERY OK source="tasks" db=0.6ms idle=0.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3134529] 13:36:20.248 [debug] QUERY OK source="tasks" db=0.8ms idle=788.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" [3347313] 13:36:20.248 [debug] QUERY OK source="settings" db=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 [] 13:36:20.249 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:36:20.249 [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 [] 13:36:20.249 [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 [] 13:36:20.249 [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 [] 13:36:20.249 [debug] QUERY OK source="settings" db=0.4ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.250 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.250 [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 [] 13:36:20.250 [info] Sent 200 in 4ms 13:36:20.251 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:36:20.251 [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] 13:36:20.252 [info] Sent 200 in 5ms 13:36:20.252 [info] Sent 200 in 5ms 13:36:20.323 [info] GET /sources/32/media/3307822 13:36:20.323 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3307822", "source_id" => "32"} Pipelines: [:browser] 13:36:20.325 [debug] QUERY OK source="media_items" db=1.5ms idle=73.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3307822] 13:36:20.325 [debug] QUERY OK source="tasks" db=0.1ms idle=75.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" [3307822] 13:36:20.325 [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" = ?) [32] 13:36:20.326 [debug] QUERY OK source="settings" db=0.1ms idle=74.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.326 [debug] QUERY OK source="settings" db=0.1ms idle=75.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.326 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.327 [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] 13:36:20.328 [info] Sent 200 in 5ms 13:36:20.414 [info] GET /sources/32/media/1227394/edit 13:36:20.414 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227394", "source_id" => "32"} Pipelines: [:browser] 13:36:20.414 [debug] QUERY OK source="media_items" db=0.1ms idle=88.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" = ?) [1227394] 13:36:20.415 [debug] QUERY OK source="settings" db=0.1ms idle=88.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.415 [debug] QUERY OK source="settings" db=0.0ms idle=88.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.415 [debug] QUERY OK source="settings" db=0.0ms idle=88.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.416 [info] Sent 200 in 2ms 13:36:20.521 [info] GET /sources/37/media/382017/force_download 13:36:20.521 [debug] QUERY OK source="settings" db=0.1ms idle=126.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.522 [debug] QUERY OK source="settings" db=0.0ms idle=107.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.522 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:36:20.522 [error] #PID<0.254256.0> running PinchflatWeb.Endpoint (connection #PID<0.254241.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/37/media/382017/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/37/media/382017/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254241.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/382017/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 45320}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.254256.0>, params: %{}, path_info: ["sources", "37", "media", "382017", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/37/media/382017/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIoLjIgsay-R88Ap0ZB"} ], 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.254241.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/382017/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 45320}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/37/media/382017/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254241.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/382017/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 45320}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.254256.0>, params: %{}, path_info: ["sources", "37", "media", "382017", "force_download"], path_params: % (truncated) 13:36:20.612 [info] GET /sources/37/media/3731985/force_download 13:36:20.613 [debug] QUERY OK source="settings" db=0.1ms idle=197.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.613 [debug] QUERY OK source="settings" db=0.1ms idle=198.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.613 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:36:20.613 [error] #PID<0.254257.0> running PinchflatWeb.Endpoint (connection #PID<0.254241.0>, stream id 5) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/37/media/3731985/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/37/media/3731985/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254241.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/3731985/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 45320}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.254257.0>, params: %{}, path_info: ["sources", "37", "media", "3731985", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/37/media/3731985/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIoLjeSKGaylMYAp0aB"} ], 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.254241.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/3731985/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 45320}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/37/media/3731985/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254241.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/3731985/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 45320}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.254257.0>, params: %{}, path_info: ["sources", "37", "media", "3731985", "force_download"], path_ (truncated) 13:36:20.704 [info] GET /sources/32/media/3528403/force_download 13:36:20.704 [debug] QUERY OK source="settings" db=0.1ms idle=288.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.704 [debug] QUERY OK source="settings" db=0.0ms idle=182.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.704 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:36:20.705 [error] #PID<0.254258.0> running PinchflatWeb.Endpoint (connection #PID<0.254241.0>, stream id 6) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/3528403/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/3528403/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254241.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3528403/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 45320}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.254258.0>, params: %{}, path_info: ["sources", "32", "media", "3528403", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/3528403/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIoLj0BIL364PwAp0bB"} ], 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.254241.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3528403/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 45320}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/3528403/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254241.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3528403/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 45320}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVGhaLThDaVMwaGZWUG4wbzkzczdIRFFQ.fy8tRVtpLi9Grc-Tz95la882Fsl-UFQS7h9HyKkfRr4" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.254258.0>, params: %{}, path_info: ["sources", "32", "media", "3528403", "force_download"], path_ (truncated) 13:36:20.798 [info] GET /sources/37/media/382017 13:36:20.798 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "382017", "prevent_download" => "true", "source_id" => "37"} Pipelines: [:browser] 13:36:20.798 [debug] QUERY OK source="media_items" db=0.1ms idle=276.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [382017] 13:36:20.799 [debug] QUERY OK source="sources" db=0.1ms idle=185.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:36:20.799 [debug] QUERY OK source="tasks" db=0.3ms idle=185.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" [382017] 13:36:20.799 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=95.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 (?,?,?)) [484446, 504125, 525705] 13:36:20.800 [debug] QUERY OK source="settings" db=0.0ms idle=95.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.800 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.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 [] 13:36:20.800 [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] 13:36:20.801 [info] Sent 200 in 3ms 13:36:20.890 [info] GET /sources/32/media/3528403 13:36:20.890 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3528403", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 13:36:20.891 [debug] QUERY OK source="media_items" db=0.1ms idle=91.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" = ?) [3528403] 13:36:20.891 [debug] QUERY OK source="tasks" db=0.1ms idle=91.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" [3528403] 13:36:20.891 [debug] QUERY OK source="sources" db=0.1ms idle=91.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:36:20.891 [debug] QUERY OK source="settings" db=0.1ms idle=91.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.892 [debug] QUERY OK source="settings" db=0.0ms idle=91.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.892 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:20.893 [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] 13:36:20.894 [info] Sent 200 in 3ms 13:36:20.982 [info] GET /sources/37/media/3731985 13:36:20.982 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3731985", "prevent_download" => "true", "source_id" => "37"} Pipelines: [:browser] 13:36:20.983 [debug] QUERY OK source="media_items" db=0.2ms idle=91.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" = ?) [3731985] 13:36:20.984 [debug] QUERY OK source="sources" db=0.4ms idle=91.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:36:20.987 [debug] QUERY OK source="tasks" db=3.7ms idle=91.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" [3731985] 13:36:21.003 [debug] QUERY OK source="oban_jobs" db=13.5ms idle=97.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [482465, 492132, 492141, 492157, 492165, 492180, 492200, 492216, 492232, 492328, 492452, 492559, 492671, 492778, 492884, 492996, 493104, 493208, 493315, 493422, 493532, 493682, 493749, 493810, 493823, 493837, 493849, 493867, 493922, 494030, 494139, 494244, 494364, 494472, 494577, 494683, 494792, 494896, 495002, 495113, 495217, 495326, 495441, 495552, 495663, 495826, 495924, 495965, 495977, 495985, ...] 13:36:21.011 [debug] QUERY OK source="settings" db=0.1ms idle=118.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:21.012 [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 [] 13:36:21.012 [debug] QUERY OK source="settings" db=0.0ms idle=28.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:21.012 [debug] QUERY OK source="media_profiles" db=0.0ms idle=25.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:36:21.048 [info] Sent 200 in 66ms 13:36:29.774 [info] {"source":"oban","duration":9672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:32.415 [info] {"args":{"id":1012073},"id":529446,"meta":{},"system_time":1793039792415531268,"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"]} 13:36:32.416 [debug] QUERY OK source="media_items" db=0.8ms 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" = ?) [1012073] 13:36:32.416 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:36:32.417 [debug] QUERY OK source="sources" db=0.6ms 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] 13:36:32.417 [debug] QUERY OK source="media_profiles" db=0.1ms idle=958.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] 13:36:32.418 [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 [1012073] 13:36:32.420 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.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" = ?) [1012073] 13:36:32.420 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:36:32.420 [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 [] 13:36:32.421 [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 [] 13:36:32.421 [debug] Running yt-dlp command for action: get_downloadable_status 13:36:32.422 [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 [] 13:36:32.422 [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 [] 13:36:32.422 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:32.422 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cOiFZ8koBXw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/f7/3df71689ca3906efeb7349bb5cbc1da7d6da80721cb3dd17011ff27bb683b31b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:36:34.536 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cOiFZ8koBXw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/f7/3df71689ca3906efeb7349bb5cbc1da7d6da80721cb3dd17011ff27bb683b31b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] cOiFZ8koBXw: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:36:34.536 [error] yt-dlp download error for media item #1012073: "ERROR: [youtube] cOiFZ8koBXw: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:36:34.537 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1012073},"id":529446,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2121285,"event":"job:exception","queue_time":74087,"attempt":19,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:36:46.433 [info] {"args":{"id":3420958},"id":535795,"meta":{},"system_time":1793039806433495166,"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"]} 13:36:46.434 [debug] QUERY OK source="media_items" db=0.2ms idle=1008.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3420958] 13:36:46.434 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:36:46.434 [debug] QUERY OK source="sources" db=0.2ms idle=975.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:36:46.434 [debug] QUERY OK source="media_profiles" db=0.2ms idle=975.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] 13:36:46.435 [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 [3420958] 13:36:46.436 [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" = ?) [3420958] 13:36:46.436 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:36:46.437 [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 [] 13:36:46.437 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:46.437 [debug] Running yt-dlp command for action: get_downloadable_status 13:36:46.439 [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 [] 13:36:46.439 [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 [] 13:36:46.439 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:46.439 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zkqBuIkQHdo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/74/63/746395bb95650b430459b38d1313e45c28f78e05c2b878fc901bee92168a9568.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:36:48.604 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zkqBuIkQHdo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/74/63/746395bb95650b430459b38d1313e45c28f78e05c2b878fc901bee92168a9568.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] zkqBuIkQHdo: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:36:48.604 [error] yt-dlp download error for media item #3420958: "ERROR: [youtube] zkqBuIkQHdo: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:36:48.605 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3420958},"id":535795,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2171483,"event":"job:exception","queue_time":774678,"attempt":18,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:36:59.785 [info] {"source":"oban","duration":10528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:37:00.251 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:37:17.057 [info] GET /sources/28/media/3676945 13:37:17.057 [info] GET /sources/37/media/382017/edit 13:37:17.057 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3676945", "source_id" => "28"} Pipelines: [:browser] 13:37:17.057 [info] GET /sources/37/media/3731985/edit 13:37:17.057 [info] GET /sources/43/media/3680013/edit 13:37:17.057 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "382017", "source_id" => "37"} Pipelines: [:browser] 13:37:17.057 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3731985", "source_id" => "37"} Pipelines: [:browser] 13:37:17.057 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3680013", "source_id" => "43"} Pipelines: [:browser] 13:37:17.059 [debug] QUERY OK source="media_items" db=1.0ms idle=1599.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" = ?) [3680013] 13:37:17.059 [debug] QUERY OK source="media_items" db=1.1ms idle=1591.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" = ?) [382017] 13:37:17.059 [debug] QUERY OK source="media_items" db=1.0ms idle=599.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" = ?) [3731985] 13:37:17.059 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1599.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" = ?) [3676945] 13:37:17.060 [debug] QUERY OK source="tasks" db=0.5ms idle=0.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3676945] 13:37:17.060 [debug] QUERY OK source="settings" db=0.6ms idle=592.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:17.060 [debug] QUERY OK source="settings" db=0.7ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:17.060 [debug] QUERY OK source="settings" db=0.7ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:17.060 [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" = ?) [28] 13:37:17.060 [debug] QUERY OK source="settings" db=0.2ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:17.060 [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 [] 13:37:17.060 [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 [] 13:37:17.060 [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 [] 13:37:17.060 [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 [] 13:37:17.061 [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 [] 13:37:17.061 [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 [] 13:37:17.061 [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 [] 13:37:17.061 [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 [] 13:37:17.061 [info] Sent 200 in 4ms 13:37:17.062 [info] Sent 200 in 4ms 13:37:17.062 [info] Sent 200 in 4ms 13:37:17.062 [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] 13:37:17.087 [info] Sent 200 in 29ms 13:37:29.792 [info] {"source":"oban","duration":6473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:46.510 [info] {"args":{"id":3751148},"id":541412,"meta":{},"system_time":1793039866509907372,"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"]} 13:37:46.510 [debug] QUERY OK source="media_items" db=0.2ms 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."id" = ?) [3751148] 13:37:46.510 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:37:46.510 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 13:37:46.511 [debug] QUERY OK source="media_profiles" db=0.2ms idle=52.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:37:46.511 [debug] QUERY OK source="media_items" db=0.3ms 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 [3751148] 13:37:46.514 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [3751148] 13:37:46.514 [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] 13:37:46.514 [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 [] 13:37:46.514 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:46.515 [debug] Running yt-dlp command for action: get_downloadable_status 13:37:46.516 [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 [] 13:37:46.516 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:46.516 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:46.516 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kWAlTuJgMTI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d0/eb/d0eb53a2655990a22e3777596a86d5ac04cb2a760c23376caa162cdb2e47f738.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:37:48.462 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kWAlTuJgMTI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d0/eb/d0eb53a2655990a22e3777596a86d5ac04cb2a760c23376caa162cdb2e47f738.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] kWAlTuJgMTI: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:37:48.462 [error] yt-dlp download error for media item #3751148: "ERROR: [youtube] kWAlTuJgMTI: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:37:48.463 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3751148},"id":541412,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1952924,"event":"job:exception","queue_time":708798,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:37:53.455 [info] GET /sources/30 13:37:53.455 [info] GET /sources/35 13:37:53.455 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "30"} Pipelines: [:browser] 13:37:53.455 [info] GET /sources/37/media/382020 13:37:53.455 [info] GET /sources/32/force_download_pending 13:37:53.455 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "35"} Pipelines: [:browser] 13:37:53.455 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "382020", "source_id" => "37"} Pipelines: [:browser] 13:37:53.456 [debug] QUERY OK source="sources" db=0.7ms idle=997.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:37:53.456 [debug] QUERY OK source="settings" db=0.7ms idle=997.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:53.456 [debug] QUERY OK source="sources" db=0.8ms idle=997.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:37:53.457 [debug] QUERY OK source="media_items" db=0.9ms idle=997.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" = ?) [382020] 13:37:53.457 [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 [] 13:37:53.457 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:37:53.457 [debug] QUERY OK source="media_profiles" db=0.5ms idle=947.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:37:53.457 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 13:37:53.457 [debug] QUERY OK source="tasks" db=0.5ms idle=0.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [382020] 13:37:53.457 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [37] 13:37:53.458 [debug] QUERY OK source="oban_jobs" db=0.1ms 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 (?,?,?)) [484418, 504983, 527513] 13:37:53.459 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:53.459 [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 [] 13:37:53.457 [error] #PID<0.254306.0> running PinchflatWeb.Endpoint (connection #PID<0.254303.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/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/32/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254303.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56188}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254306.0>, params: %{}, path_info: ["sources", "32", "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: %{}, 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIoQ9Vwh-pbyEEAAI3F"} ], 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.254303.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56188}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254303.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56188}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254306.0>, params: %{}, path_info: ["sources", "32", "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: %{}, 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/forc (truncated) 13:37:53.459 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:53.460 [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] 13:37:53.462 [info] Sent 200 in 6ms 13:37:53.491 [debug] QUERY OK source="tasks" db=33.1ms idle=0.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [35, "executing", "available", "scheduled", "retryable"] 13:37:53.491 [debug] QUERY OK source="tasks" db=33.5ms idle=0.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [30, "executing", "available", "scheduled", "retryable"] 13:37:53.491 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=31.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" = ?) [541535] 13:37:53.491 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=31.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" = ?) [541533] 13:37:53.492 [debug] QUERY OK source="settings" db=0.1ms idle=31.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:53.492 [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 [] 13:37:53.492 [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 [] 13:37:53.492 [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 [] 13:37:53.492 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:53.492 [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 [] 13:37:53.493 [debug] QUERY OK source="sources" db=0.2ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:37:53.493 [debug] QUERY OK source="sources" db=0.2ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 13:37:53.497 [debug] QUERY OK source="media_items" db=3.4ms idle=1.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 13:37:53.499 [debug] QUERY OK source="media_items" db=5.8ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [30] 13:37:53.501 [debug] QUERY OK source="media_items" db=4.0ms idle=4.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [35, 10, 0] 13:37:53.501 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [35] 13:37:53.502 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 13:37:53.505 [debug] QUERY OK source="media_items" db=2.8ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [35, 10, 0] 13:37:53.506 [debug] QUERY OK source="media_items" db=6.2ms idle=6.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 ? [30, 10, 0] 13:37:53.506 [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" = ?) [35] 13:37:53.506 [debug] QUERY OK source="sources" db=0.4ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:37:53.507 [debug] QUERY OK source="media_items" db=0.3ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 13:37:53.508 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [35] 13:37:53.508 [debug] QUERY OK source="media_items" db=0.9ms idle=1.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 13:37:53.508 [debug] QUERY OK source="sources" db=0.1ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 13:37:53.509 [debug] QUERY OK source="media_items" db=1.4ms idle=1.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [35, 10, 0] 13:37:53.510 [debug] QUERY OK source="media_items" db=1.8ms idle=1.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [30] 13:37:53.511 [info] Sent 200 in 55ms 13:37:53.512 [debug] QUERY OK source="media_items" db=1.9ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [30, 10, 0] 13:37:53.513 [info] Sent 200 in 58ms 13:37:59.801 [info] {"source":"oban","duration":9232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.252 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:38:29.812 [info] {"source":"oban","duration":9554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:38:54.816 [info] GET /sources/37/media/382019 13:38:54.816 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "382019", "source_id" => "37"} Pipelines: [:browser] 13:38:54.817 [info] GET /sources/32/media/3583022/edit 13:38:54.817 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3583022", "source_id" => "32"} Pipelines: [:browser] 13:38:54.817 [info] GET /sources/32/media/1227397 13:38:54.817 [info] GET /sources/43/force_download_pending 13:38:54.817 [debug] QUERY OK source="media_items" db=0.3ms idle=1358.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" = ?) [382019] 13:38:54.817 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227397", "source_id" => "32"} Pipelines: [:browser] 13:38:54.817 [debug] QUERY OK source="media_items" db=0.3ms idle=1358.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" = ?) [3583022] 13:38:54.818 [info] GET /sources/28/media/347107/edit 13:38:54.818 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "347107", "source_id" => "28"} Pipelines: [:browser] 13:38:54.818 [debug] QUERY OK source="settings" db=0.6ms idle=1223.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:54.818 [debug] QUERY OK source="tasks" db=0.9ms idle=221.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" [382019] 13:38:54.818 [debug] QUERY OK source="settings" db=0.8ms 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 [] 13:38:54.819 [debug] QUERY OK source="media_items" db=1.3ms idle=1359.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] 13:38:54.819 [debug] QUERY OK source="sources" db=1.3ms 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" = ?) [37] 13:38:54.819 [debug] QUERY OK source="settings" db=0.5ms 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 [] 13:38:54.819 [debug] QUERY OK source="settings" db=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:54.819 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:38:54.819 [debug] QUERY OK source="media_items" db=1.1ms 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" = ?) [347107] 13:38:54.820 [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 (?,?,?)) [484459, 504649, 527283] 13:38:54.820 [debug] QUERY OK source="settings" db=0.5ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:54.820 [debug] QUERY OK source="settings" db=0.7ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:54.820 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms 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" = ?) [32] 13:38:54.820 [debug] QUERY OK source="tasks" db=1.3ms 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" [1227397] 13:38:54.821 [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 [] 13:38:54.821 [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 [] 13:38:54.821 [debug] QUERY OK source="oban_jobs" db=0.2ms 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" IN (?,?,?)) [484091, 502840, 525519] 13:38:54.821 [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 [] 13:38:54.821 [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 [] 13:38:54.821 [info] Sent 200 in 4ms 13:38:54.819 [error] #PID<0.254324.0> running PinchflatWeb.Endpoint (connection #PID<0.254322.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/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/43/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254322.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58578}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254324.0>, params: %{}, path_info: ["sources", "43", "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: %{}, 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIoUh7jzZiOGv8AfygC"} ], 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.254322.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58578}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254322.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 58578}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254324.0>, params: %{}, path_info: ["sources", "43", "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: %{}, 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/forc (truncated) 13:38:54.822 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:54.822 [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 [] 13:38:54.822 [info] Sent 200 in 4ms 13:38:54.822 [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 [] 13:38:54.822 [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] 13:38:54.823 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:54.824 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:38:54.824 [info] Sent 200 in 8ms 13:38:54.825 [info] Sent 200 in 8ms 13:38:59.818 [info] {"source":"oban","duration":5636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.254 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:39:29.823 [info] {"source":"oban","duration":4547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:39:30.978 [info] GET /sources/32/media/1227399/edit 13:39:30.978 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227399", "source_id" => "32"} Pipelines: [:browser] 13:39:30.978 [info] GET /sources/28/media/3236996 13:39:30.979 [info] GET /sources/43/media/3712433/edit 13:39:30.979 [info] GET /sources/32/media/3472951 13:39:30.979 [info] GET /sources/32/media/3748502/edit 13:39:30.979 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3712433", "source_id" => "43"} Pipelines: [:browser] 13:39:30.979 [info] GET /sources/32/media/1227402/edit 13:39:30.979 [info] GET /sources/32/media/1227396 13:39:30.979 [info] GET /sources/32/media/3307822/edit 13:39:30.979 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3236996", "source_id" => "28"} Pipelines: [:browser] 13:39:30.979 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3748502", "source_id" => "32"} Pipelines: [:browser] 13:39:30.979 [info] GET /sources/28/media/3017589/edit 13:39:30.979 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3307822", "source_id" => "32"} Pipelines: [:browser] 13:39:30.979 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3472951", "source_id" => "32"} Pipelines: [:browser] 13:39:30.979 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227396", "source_id" => "32"} Pipelines: [:browser] 13:39:30.979 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227402", "source_id" => "32"} Pipelines: [:browser] 13:39:30.979 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3017589", "source_id" => "28"} Pipelines: [:browser] 13:39:30.979 [debug] QUERY OK source="media_items" db=0.6ms idle=1520.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" = ?) [1227399] 13:39:30.980 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=1343.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" = ?) [3712433] 13:39:30.980 [debug] QUERY OK source="media_items" db=1.3ms idle=520.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" = ?) [3748502] 13:39:30.981 [debug] QUERY OK source="media_items" db=1.5ms idle=1156.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" = ?) [3236996] 13:39:30.981 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms 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" = ?) [3307822] 13:39:30.981 [debug] QUERY OK source="media_items" db=1.7ms idle=342.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3472951] 13:39:30.981 [debug] QUERY OK source="settings" db=0.7ms queue=0.8ms 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 [] 13:39:30.981 [debug] QUERY OK source="media_items" db=1.3ms queue=0.9ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1227396] 13:39:30.982 [debug] QUERY OK source="settings" db=0.7ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:30.982 [debug] QUERY OK source="tasks" db=0.7ms 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" [3236996] 13:39:30.982 [debug] QUERY OK source="media_items" db=1.4ms queue=1.5ms 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" = ?) [1227402] 13:39:30.982 [debug] QUERY OK source="settings" db=0.7ms queue=0.8ms 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 [] 13:39:30.982 [debug] QUERY OK source="media_items" db=1.5ms queue=1.6ms 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" = ?) [3017589] 13:39:30.983 [debug] QUERY OK source="sources" db=0.9ms 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" = ?) [28] 13:39:30.983 [debug] QUERY OK source="settings" db=0.7ms queue=1.0ms 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 [] 13:39:30.983 [debug] QUERY OK source="settings" db=0.7ms queue=0.8ms 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 [] 13:39:30.983 [debug] QUERY OK source="tasks" db=0.6ms queue=0.7ms 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" [1227396] 13:39:30.983 [debug] QUERY OK source="tasks" db=0.6ms queue=1.7ms 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" [3472951] 13:39:30.984 [debug] QUERY OK source="settings" db=0.8ms queue=1.1ms 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 [] 13:39:30.984 [debug] QUERY OK source="settings" db=0.8ms 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 [] 13:39:30.984 [debug] QUERY OK source="sources" db=1.4ms queue=1.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" = ?) [32] 13:39:30.984 [debug] QUERY OK source="settings" db=0.6ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:30.984 [debug] QUERY OK source="settings" db=0.4ms queue=1.0ms 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 [] 13:39:30.984 [debug] QUERY OK source="sources" db=1.6ms queue=1.1ms 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" = ?) [32] 13:39:30.984 [debug] QUERY OK source="settings" db=0.7ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:30.985 [debug] QUERY OK source="settings" db=0.5ms 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 [] 13:39:30.985 [debug] QUERY OK source="settings" db=0.8ms queue=1.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 [] 13:39:30.985 [debug] QUERY OK source="settings" db=0.9ms queue=0.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:30.985 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms 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 [] 13:39:30.986 [debug] QUERY OK source="settings" db=1.1ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:30.986 [debug] QUERY OK source="settings" db=0.8ms queue=0.7ms 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 [] 13:39:30.986 [debug] QUERY OK source="settings" db=0.7ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:30.986 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:30.986 [info] Sent 200 in 7ms 13:39:30.986 [debug] QUERY OK source="oban_jobs" db=1.0ms queue=0.5ms 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 (?,?,?)) [484090, 502839, 525518] 13:39:30.986 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 13:39:30.986 [debug] QUERY OK source="settings" db=0.6ms queue=1.0ms 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 [] 13:39:30.987 [info] Sent 200 in 8ms 13:39:30.987 [info] Sent 200 in 8ms 13:39:30.987 [debug] QUERY OK source="settings" db=0.5ms 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 [] 13:39:30.987 [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 [] 13:39:30.987 [debug] QUERY OK source="settings" db=0.6ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:30.987 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:39:30.987 [info] Sent 200 in 8ms 13:39:30.988 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:30.988 [info] Sent 200 in 9ms 13:39:30.988 [debug] QUERY OK source="media_profiles" db=0.4ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:39:30.988 [info] Sent 200 in 9ms 13:39:30.988 [debug] QUERY OK source="settings" db=0.4ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:30.988 [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] 13:39:30.989 [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 [] 13:39:30.989 [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] 13:39:30.990 [info] Sent 200 in 11ms 13:39:30.990 [info] Sent 200 in 11ms 13:39:30.991 [info] Sent 200 in 12ms 13:39:41.741 [info] GET /sources/32/media/1227396/edit 13:39:41.741 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227396", "source_id" => "32"} Pipelines: [:browser] 13:39:41.741 [info] GET /sources/32/media/1227403/edit 13:39:41.742 [info] GET /sources/35/media/3344542 13:39:41.742 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227403", "source_id" => "32"} Pipelines: [:browser] 13:39:41.742 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3344542", "source_id" => "35"} Pipelines: [:browser] 13:39:41.742 [debug] QUERY OK source="media_items" db=0.2ms idle=1283.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] 13:39:41.742 [debug] QUERY OK source="media_items" db=0.5ms idle=1283.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" = ?) [3344542] 13:39:41.742 [debug] QUERY OK source="media_items" db=0.5ms idle=1283.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" = ?) [1227403] 13:39:41.742 [debug] QUERY OK source="settings" db=0.2ms idle=1092.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:41.743 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:39:41.743 [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 [] 13:39:41.743 [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" [3344542] 13:39:41.743 [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" = ?) [35] 13:39:41.743 [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 [] 13:39:41.743 [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 [] 13:39:41.744 [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 [] 13:39:41.744 [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 [] 13:39:41.744 [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 [] 13:39:41.744 [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 [] 13:39:41.744 [info] Sent 200 in 3ms 13:39:41.745 [info] Sent 200 in 3ms 13:39:41.745 [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] 13:39:41.746 [info] Sent 200 in 4ms 13:39:41.861 [info] GET /sources/32/media/3472951/edit 13:39:41.861 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3472951", "source_id" => "32"} Pipelines: [:browser] 13:39:41.862 [debug] QUERY OK source="media_items" db=0.2ms 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" = ?) [3472951] 13:39:41.862 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:39:41.862 [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 [] 13:39:41.863 [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 [] 13:39:41.864 [info] Sent 200 in 2ms 13:39:41.938 [info] GET /sources/28/media/3236996/edit 13:39:41.938 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3236996", "source_id" => "28"} Pipelines: [:browser] 13:39:41.938 [debug] QUERY OK source="media_items" db=0.2ms 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" = ?) [3236996] 13:39:41.939 [debug] QUERY OK source="settings" db=0.1ms idle=76.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:41.939 [debug] QUERY OK source="settings" db=0.0ms idle=76.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:41.939 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:39:41.940 [info] Sent 200 in 2ms 13:39:42.048 [info] GET /sources/28/media/346778 13:39:42.048 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "346778", "source_id" => "28"} Pipelines: [:browser] 13:39:42.049 [debug] QUERY OK source="media_items" db=0.4ms 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" = ?) [346778] 13:39:42.050 [debug] QUERY OK source="sources" db=0.3ms idle=110.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [28] 13:39:42.050 [debug] QUERY OK source="tasks" db=0.5ms idle=110.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" [346778] 13:39:42.051 [debug] QUERY OK source="oban_jobs" db=1.3ms idle=111.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [488642, 490317, 491959, 493701, 495801, 497865, 499522, 501224, 502863, 504531, 506188, 508277, 510422, 512737, 514325, 515602, 517354, 518696, 520363, 522270, 523735, 525525, 527223, 528916, 531024, 532944, 534811, 536795, 538833, 540434] 13:39:42.052 [debug] QUERY OK source="settings" db=0.0ms idle=112.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:42.052 [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 [] 13:39:42.053 [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 [] 13:39:42.053 [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] 13:39:42.057 [info] Sent 200 in 8ms 13:39:42.138 [info] GET /sources/37/media/382029 13:39:42.138 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "382029", "source_id" => "37"} Pipelines: [:browser] 13:39:42.139 [debug] QUERY OK source="media_items" db=0.2ms idle=86.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" = ?) [382029] 13:39:42.139 [debug] QUERY OK source="tasks" db=0.1ms idle=86.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" [382029] 13:39:42.139 [debug] QUERY OK source="sources" db=0.2ms idle=86.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:39:42.140 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=86.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 (?,?,?)) [484408, 504126, 526207] 13:39:42.140 [debug] QUERY OK source="settings" db=0.1ms idle=86.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:42.140 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:42.141 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:42.141 [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] 13:39:42.143 [info] Sent 200 in 4ms 13:39:59.832 [info] {"source":"oban","duration":9362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.254 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:40:26.909 [info] GET /sources/28/media/3457388/edit 13:40:26.909 [info] GET /sources/32/media/1227401/edit 13:40:26.909 [info] GET /sources/37/media/382027 13:40:26.909 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227401", "source_id" => "32"} Pipelines: [:browser] 13:40:26.909 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3457388", "source_id" => "28"} Pipelines: [:browser] 13:40:26.909 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "382027", "source_id" => "37"} Pipelines: [:browser] 13:40:26.909 [info] GET /sources/37/media/382023/edit 13:40:26.909 [info] GET /sources/32/media/1227402 13:40:26.909 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "382023", "source_id" => "37"} Pipelines: [:browser] 13:40:26.909 [info] GET /sources/28/media/3457388 13:40:26.909 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227402", "source_id" => "32"} Pipelines: [:browser] 13:40:26.909 [info] GET /sources/32/media/1227401 13:40:26.909 [info] GET /sources/37/media/382025 13:40:26.909 [info] GET /sources/35/media/3453444/edit 13:40:26.909 [info] GET /sources/37/media/382023 13:40:26.909 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3457388", "source_id" => "28"} Pipelines: [:browser] 13:40:26.910 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "382025", "source_id" => "37"} Pipelines: [:browser] 13:40:26.910 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227401", "source_id" => "32"} Pipelines: [:browser] 13:40:26.910 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "382023", "source_id" => "37"} Pipelines: [:browser] 13:40:26.910 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3453444", "source_id" => "35"} Pipelines: [:browser] 13:40:26.910 [debug] QUERY OK source="media_items" db=0.9ms idle=1451.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" = ?) [382027] 13:40:26.911 [debug] QUERY OK source="media_items" db=1.1ms idle=1451.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" = ?) [3457388] 13:40:26.911 [debug] QUERY OK source="media_items" db=1.0ms idle=1209.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" = ?) [382023] 13:40:26.911 [debug] QUERY OK source="media_items" db=1.0ms idle=208.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] 13:40:26.911 [debug] QUERY OK source="media_items" db=1.2ms idle=1451.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" = ?) [1227401] 13:40:26.911 [debug] QUERY OK source="media_items" db=0.9ms 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" = ?) [3457388] 13:40:26.912 [debug] QUERY OK source="media_items" db=1.0ms 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" = ?) [382025] 13:40:26.912 [debug] QUERY OK source="media_items" db=1.1ms queue=0.9ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1227401] 13:40:26.912 [debug] QUERY OK source="media_items" db=1.0ms queue=1.0ms 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" = ?) [3453444] 13:40:26.912 [debug] QUERY OK source="tasks" db=0.4ms queue=0.7ms 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" [382027] 13:40:26.912 [debug] QUERY OK source="media_items" db=1.1ms queue=1.0ms 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" = ?) [382023] 13:40:26.912 [debug] QUERY OK source="settings" db=0.4ms queue=0.8ms 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 [] 13:40:26.912 [debug] QUERY OK source="settings" db=0.5ms queue=1.0ms 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 [] 13:40:26.912 [debug] QUERY OK source="tasks" db=0.5ms queue=1.0ms 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" [1227402] 13:40:26.912 [debug] QUERY OK source="settings" db=0.5ms queue=1.0ms 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 [] 13:40:26.913 [debug] QUERY OK source="sources" db=0.9ms queue=0.9ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 13:40:26.913 [debug] QUERY OK source="sources" db=0.8ms queue=1.1ms 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" = ?) [32] 13:40:26.913 [debug] QUERY OK source="tasks" db=0.6ms queue=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" [382025] 13:40:26.913 [debug] QUERY OK source="tasks" db=0.6ms queue=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" [1227401] 13:40:26.913 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [37] 13:40:26.913 [debug] QUERY OK source="tasks" db=0.3ms queue=1.4ms 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" [3457388] 13:40:26.914 [debug] QUERY OK source="settings" db=0.6ms queue=1.0ms 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 [] 13:40:26.914 [debug] QUERY OK source="sources" db=0.9ms queue=0.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 13:40:26.914 [debug] QUERY OK source="settings" db=0.6ms queue=0.7ms 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 [] 13:40:26.914 [debug] QUERY OK source="sources" db=0.7ms queue=1.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" = ?) [28] 13:40:26.914 [debug] QUERY OK source="tasks" db=0.4ms queue=1.4ms 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" [382023] 13:40:26.915 [debug] QUERY OK source="settings" db=0.6ms queue=1.8ms 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 [] 13:40:26.915 [debug] QUERY OK source="settings" db=0.6ms queue=1.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 [] 13:40:26.915 [debug] QUERY OK source="sources" db=1.1ms queue=1.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" = ?) [37] 13:40:26.915 [debug] QUERY OK source="oban_jobs" db=1.3ms queue=0.6ms 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 (?,?,?)) [484394, 504750, 527274] 13:40:26.915 [debug] QUERY OK source="settings" db=0.3ms queue=1.0ms 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 [] 13:40:26.915 [debug] QUERY OK source="oban_jobs" db=1.3ms queue=0.6ms 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 (?,?,?)) [484683, 505089, 527213] 13:40:26.916 [debug] QUERY OK source="settings" db=0.5ms queue=0.7ms 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 [] 13:40:26.916 [debug] QUERY OK source="oban_jobs" db=1.0ms queue=1.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" IN (?,?,?)) [484368, 504512, 527219] 13:40:26.916 [debug] QUERY OK source="settings" db=0.7ms queue=0.7ms 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 [] 13:40:26.916 [debug] QUERY OK source="oban_jobs" db=1.1ms queue=1.1ms 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 (?,?,?)) [483817, 501206, 523732] 13:40:26.916 [debug] QUERY OK source="settings" db=0.7ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:40:26.916 [debug] QUERY OK source="settings" db=0.2ms queue=0.7ms 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 [] 13:40:26.917 [info] Sent 200 in 7ms 13:40:26.917 [debug] QUERY OK source="settings" db=0.5ms queue=1.0ms 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 [] 13:40:26.917 [debug] QUERY OK source="settings" db=0.7ms queue=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 [] 13:40:26.917 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 13:40:26.917 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:40:26.917 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:40:26.917 [debug] QUERY OK source="settings" db=0.4ms queue=0.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:40:26.917 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:40:26.917 [info] Sent 200 in 7ms 13:40:26.918 [info] Sent 200 in 9ms 13:40:26.919 [info] Sent 200 in 9ms 13:40:26.919 [debug] QUERY OK source="oban_jobs" db=2.5ms queue=0.9ms 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 (?,?,?)) [484620, 506268, 529165] 13:40:26.919 [debug] QUERY OK source="settings" db=0.2ms queue=0.4ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:40:26.919 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:40:26.919 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:40:26.919 [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 [] 13:40:26.919 [debug] QUERY OK source="settings" db=1.0ms queue=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 [] 13:40:26.920 [debug] QUERY OK source="settings" db=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:40:26.920 [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 [] 13:40:26.920 [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] 13:40:26.920 [debug] QUERY OK source="settings" db=1.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:40:26.921 [debug] QUERY OK source="media_profiles" db=0.8ms 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] 13:40:26.921 [debug] QUERY OK source="settings" db=0.8ms 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 [] 13:40:26.921 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 13:40:26.921 [debug] QUERY OK source="settings" db=1.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 [] 13:40:26.921 [info] Sent 200 in 11ms 13:40:26.921 [debug] QUERY OK source="media_profiles" db=0.4ms queue=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] 13:40:26.921 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:40:26.922 [debug] QUERY OK source="media_profiles" db=0.2ms queue=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] 13:40:26.922 [info] Sent 200 in 12ms 13:40:26.922 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:40:26.923 [info] Sent 200 in 13ms 13:40:26.923 [info] Sent 200 in 13ms 13:40:26.923 [info] Sent 200 in 13ms 13:40:26.924 [info] Sent 200 in 14ms 13:40:29.843 [info] {"source":"oban","duration":9722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:59.849 [info] {"source":"oban","duration":6357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.255 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:41:29.855 [info] {"source":"oban","duration":4671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:59.865 [info] {"source":"oban","duration":9802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.256 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:42:29.869 [info] {"source":"oban","duration":4347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:42.871 [info] {"args":{"id":3647632},"id":518847,"meta":{},"system_time":1793040162871131751,"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"]} 13:42:42.872 [debug] QUERY OK source="media_items" db=1.0ms idle=1412.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" = ?) [3647632] 13:42:42.872 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:42.872 [debug] QUERY OK source="sources" db=0.2ms idle=1413.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:42:42.873 [debug] QUERY OK source="media_profiles" db=0.7ms idle=1010.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:42.874 [debug] QUERY OK source="media_items" db=0.8ms idle=10.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 [3647632] 13:42:42.876 [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" = ?) [3647632] 13:42:42.876 [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] 13:42:42.876 [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 [] 13:42:42.877 [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 [] 13:42:42.877 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:42.879 [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 [] 13:42:42.879 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:42.879 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:42.879 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0e/09/0e09336a025c2c9b78ba942e3b659d18e7e5b9269d7820f471fd94c5b36777cc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:44.702 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0e/09/0e09336a025c2c9b78ba942e3b659d18e7e5b9269d7820f471fd94c5b36777cc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:42:44.702 [error] yt-dlp download error for media item #3647632: "ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:42:44.703 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3647632},"id":518847,"meta":{},"state":"discard","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1831807,"event":"job:exception","queue_time":43381,"attempt":20,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:47.878 [info] {"args":{"id":52},"id":541532,"meta":{},"system_time":1793040167878404008,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:42:47.879 [debug] QUERY OK source="sources" db=0.3ms idle=1419.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:42:47.879 [debug] QUERY OK source="settings" db=0.1ms idle=1420.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:47.879 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1008.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:47.880 [debug] QUERY OK source="settings" db=0.1ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:47.880 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 13:42:48.311 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 13:42:48.312 [debug] QUERY OK source="media_items" db=0.4ms idle=433.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, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 13:42:48.313 [debug] QUERY OK source="media_items" db=0.9ms idle=433.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] 13:42:48.317 [debug] QUERY OK source="tasks" db=0.1ms idle=437.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541536, 1301334, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.321 [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" [541537, 1301335, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.324 [info] {"args":{"id":1301334},"id":541536,"meta":{},"system_time":1793040168324126349,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:48.324 [info] {"args":{"id":1301335},"id":541537,"meta":{},"system_time":1793040168324164103,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:48.325 [debug] QUERY OK source="media_items" db=0.5ms 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" = ?) [1301335] 13:42:48.325 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:48.325 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 13:42:48.325 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:48.325 [debug] QUERY OK source="sources" db=0.5ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:42:48.325 [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] 13:42:48.326 [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] 13:42:48.326 [debug] QUERY OK source="media_profiles" db=0.4ms queue=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] 13:42:48.326 [debug] QUERY OK source="media_items" db=0.4ms 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] 13:42:48.327 [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] 13:42:48.328 [debug] QUERY OK source="tasks" db=0.2ms idle=1.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541538, 1301347, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.328 [debug] QUERY OK source="media_metadata" db=0.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" = ?) [1301335] 13:42:48.329 [debug] QUERY OK source="media_metadata" db=0.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] 13:42:48.329 [debug] QUERY OK source="media_profiles" db=0.7ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:48.329 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:48.330 [debug] QUERY OK source="settings" db=0.3ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:48.330 [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 [] 13:42:48.330 [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 [] 13:42:48.330 [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 [] 13:42:48.331 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:48.331 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:48.332 [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" [541539, 1301392, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.333 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:48.334 [debug] QUERY OK source="settings" db=0.2ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:48.334 [debug] QUERY OK source="settings" db=0.6ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:48.334 [debug] QUERY OK source="settings" db=0.2ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:48.334 [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 [] 13:42:48.334 [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/32/40/3240a3432861e9f05aba23b911e80de80261b9b94fb58313e8801df37e4c231a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:48.334 [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 [] 13:42:48.335 [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/29/72/297217d036313713678f772876075e4a2d00f3f9f1f64cb113f79eaa2fded77f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:48.336 [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" [541540, 1301393, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.339 [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" [541541, 1301394, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.342 [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" [541542, 1301395, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.345 [debug] QUERY OK source="tasks" db=0.2ms idle=3.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541543, 1301397, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.348 [debug] QUERY OK source="tasks" db=0.2ms idle=3.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541544, 1301398, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.351 [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" [541545, 1301399, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.354 [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" [541546, 1301400, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.357 [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" [541547, 2720968, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.360 [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" [541548, 3440530, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.363 [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" [541549, 3675707, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.364 [debug] QUERY OK source="tasks" db=0.3ms idle=1.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541550, 52, ~U[2026-10-26 18:42:48Z], ~U[2026-10-26 18:42:48Z]] 13:42:48.365 [info] {"args":{"id":52},"id":541532,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":486356,"event":"job:stop","queue_time":482825,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:42:50.185 [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/29/72/297217d036313713678f772876075e4a2d00f3f9f1f64cb113f79eaa2fded77f.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. 13:42:50.186 [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" 13:42:50.186 [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" 13:42:50.186 [info] {"args":{"id":1301334},"id":541536,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1862078,"event":"job:stop","queue_time":322555,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:50.193 [info] {"args":{"id":1301347},"id":541538,"meta":{},"system_time":1793040170193467669,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:50.193 [debug] QUERY OK source="media_items" db=0.1ms idle=734.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" = ?) [1301347] 13:42:50.193 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:50.194 [debug] QUERY OK source="sources" db=0.1ms idle=735.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:42:50.194 [debug] QUERY OK source="media_profiles" db=0.1ms idle=319.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] 13:42:50.194 [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] 13:42:50.196 [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] 13:42:50.196 [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] 13:42:50.197 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:50.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 [] 13:42:50.197 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:50.198 [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 [] 13:42:50.198 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:50.199 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:50.199 [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/75/c5/75c50bb56b816fc0903c816c4269733584c88822bad4e8f660ffcc647055eb7d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:50.525 [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/32/40/3240a3432861e9f05aba23b911e80de80261b9b94fb58313e8801df37e4c231a.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. 13:42:50.525 [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" 13:42:50.525 [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" 13:42:50.526 [info] {"args":{"id":1301335},"id":541537,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2201493,"event":"job:stop","queue_time":322555,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:50.532 [info] {"args":{"id":1301392},"id":541539,"meta":{},"system_time":1793040170532182453,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:50.532 [debug] QUERY OK source="media_items" db=0.2ms idle=333.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] 13:42:50.532 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:50.533 [debug] QUERY OK source="sources" db=0.1ms idle=333.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:42:50.533 [debug] QUERY OK source="media_profiles" db=0.1ms idle=334.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:50.533 [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 [1301392] 13:42:50.535 [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] 13:42:50.535 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:50.535 [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 [] 13:42:50.535 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:50.536 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:50.537 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:50.537 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:50.537 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:50.537 [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/8f/b3/8fb3a5b23b1efb9d9c76c1e2afe827ba29a90cd901ba8469cfc9e99b4cac763f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:51.909 [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/75/c5/75c50bb56b816fc0903c816c4269733584c88822bad4e8f660ffcc647055eb7d.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. 13:42:51.909 [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" 13:42:51.909 [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" 13:42:51.910 [info] {"args":{"id":1301347},"id":541538,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1716384,"event":"job:stop","queue_time":2192587,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:51.916 [info] {"args":{"id":1301393},"id":541540,"meta":{},"system_time":1793040171916288844,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:51.916 [debug] QUERY OK source="media_items" db=0.2ms idle=1379.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] 13:42:51.916 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:51.917 [debug] QUERY OK source="sources" db=0.1ms idle=1040.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:42:51.917 [debug] QUERY OK source="media_profiles" db=0.1ms idle=39.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] 13:42:51.917 [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 [1301393] 13:42:51.920 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301393] 13:42:51.920 [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] 13:42:51.921 [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 [] 13:42:51.921 [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 [] 13:42:51.921 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:51.923 [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 [] 13:42:51.923 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:51.923 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:51.923 [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/cf/bb/cfbb243bc56484c8f69200d22b5f08c841523016633387cbdb16a61531dd89e6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:52.313 [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/8f/b3/8fb3a5b23b1efb9d9c76c1e2afe827ba29a90cd901ba8469cfc9e99b4cac763f.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. 13:42:52.313 [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" 13:42:52.313 [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" 13:42:52.314 [info] {"args":{"id":1301392},"id":541539,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1781478,"event":"job:stop","queue_time":2531559,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:52.320 [info] {"args":{"id":1301394},"id":541541,"meta":{},"system_time":1793040172320352400,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:52.320 [debug] QUERY OK source="media_items" db=0.2ms idle=397.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] 13:42:52.320 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:52.321 [debug] QUERY OK source="sources" db=0.1ms idle=397.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:42:52.321 [debug] QUERY OK source="media_profiles" db=0.1ms idle=397.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] 13:42:52.321 [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] 13:42:52.323 [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" = ?) [1301394] 13:42:52.323 [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] 13:42:52.324 [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 [] 13:42:52.324 [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 [] 13:42:52.324 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:52.325 [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 [] 13:42:52.325 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:52.325 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:52.326 [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/8d/508dd60d40a3fd7df210e151cd8f58f51b33b228f59fcd10fd88426b2cdab4fa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:53.666 [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/cf/bb/cfbb243bc56484c8f69200d22b5f08c841523016633387cbdb16a61531dd89e6.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. 13:42:53.666 [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" 13:42:53.667 [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" 13:42:53.667 [info] {"args":{"id":1301393},"id":541540,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1750850,"event":"job:stop","queue_time":3915526,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:53.674 [info] {"args":{"id":1301395},"id":541542,"meta":{},"system_time":1793040173674531022,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:53.674 [debug] QUERY OK source="media_items" db=0.1ms idle=216.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" = ?) [1301395] 13:42:53.674 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:53.675 [debug] QUERY OK source="sources" db=0.1ms idle=216.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:42:53.675 [debug] QUERY OK source="media_profiles" db=0.1ms idle=216.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:53.675 [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] 13:42:53.677 [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" = ?) [1301395] 13:42:53.678 [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] 13:42:53.678 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:53.678 [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 [] 13:42:53.678 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:53.680 [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 [] 13:42:53.680 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:53.680 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:53.680 [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/4d/b3/4db32b258268e78129990524ffd07ed7c94441149f97c42f77d4d6d1720e22b8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:54.287 [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/8d/508dd60d40a3fd7df210e151cd8f58f51b33b228f59fcd10fd88426b2cdab4fa.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. 13:42:54.287 [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" 13:42:54.287 [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" 13:42:54.288 [info] {"args":{"id":1301394},"id":541541,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1967591,"event":"job:stop","queue_time":4319564,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:54.295 [info] {"args":{"id":1301397},"id":541543,"meta":{},"system_time":1793040174295388977,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:54.295 [debug] QUERY OK source="media_items" db=0.2ms idle=615.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] 13:42:54.296 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:54.296 [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] 13:42:54.296 [debug] QUERY OK source="media_profiles" db=0.2ms idle=416.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:54.297 [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 [1301397] 13:42:54.298 [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" = ?) [1301397] 13:42:54.298 [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] 13:42:54.299 [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 [] 13:42:54.299 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:54.299 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:54.299 [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 [] 13:42:54.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 [] 13:42:54.300 [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 [] 13:42:54.300 [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/b1/ad/b1ad8d501c64a474e417e4929a0686fcf5f6841f1a0be763f9e405c73c750d91.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:55.424 [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/4d/b3/4db32b258268e78129990524ffd07ed7c94441149f97c42f77d4d6d1720e22b8.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. 13:42:55.424 [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" 13:42:55.424 [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" 13:42:55.424 [info] {"args":{"id":1301395},"id":541542,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1749951,"event":"job:stop","queue_time":5673591,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:55.431 [info] {"args":{"id":1301398},"id":541544,"meta":{},"system_time":1793040175431186842,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:55.431 [debug] QUERY OK source="media_items" db=0.3ms idle=1131.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] 13:42:55.432 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:55.432 [debug] QUERY OK source="sources" db=0.1ms idle=1131.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:42:55.432 [debug] QUERY OK source="media_profiles" db=0.1ms idle=551.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] 13:42:55.432 [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 [1301398] 13:42:55.434 [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" = ?) [1301398] 13:42:55.434 [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] 13:42:55.435 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:55.435 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:55.435 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:55.436 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:55.436 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:55.436 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:55.436 [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/99/b7/99b746a2b5a4d13a113d1a2635ad0c1760f44352cb6d18d06caee7796c25ad5f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:56.319 [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/b1/ad/b1ad8d501c64a474e417e4929a0686fcf5f6841f1a0be763f9e405c73c750d91.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. 13:42:56.319 [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" 13:42:56.319 [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" 13:42:56.320 [info] {"args":{"id":1301397},"id":541543,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2024225,"event":"job:stop","queue_time":6294590,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:56.326 [info] {"args":{"id":1301399},"id":541545,"meta":{},"system_time":1793040176326347952,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:56.326 [debug] QUERY OK source="media_items" db=0.2ms idle=889.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] 13:42:56.326 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:56.327 [debug] QUERY OK source="sources" db=0.1ms idle=890.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:42:56.327 [debug] QUERY OK source="media_profiles" db=0.1ms idle=445.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] 13:42:56.327 [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] 13:42:56.329 [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" = ?) [1301399] 13:42:56.329 [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] 13:42:56.330 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:56.330 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:56.330 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:56.332 [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 [] 13:42:56.332 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:56.332 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:56.332 [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/c5/c4/c5c46411985539c003e1064de35f073ab568242b1ea84fc4344e2b1ed299c538.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:57.489 [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/99/b7/99b746a2b5a4d13a113d1a2635ad0c1760f44352cb6d18d06caee7796c25ad5f.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. 13:42:57.489 [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" 13:42:57.489 [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" 13:42:57.489 [info] {"args":{"id":1301398},"id":541544,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2058390,"event":"job:stop","queue_time":7430507,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:57.496 [info] {"args":{"id":1301400},"id":541546,"meta":{},"system_time":1793040177496103543,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:57.496 [debug] QUERY OK source="media_items" db=0.2ms idle=37.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] 13:42:57.496 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:57.496 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:42:57.497 [debug] QUERY OK source="media_profiles" db=0.1ms idle=38.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:57.497 [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 [1301400] 13:42:57.498 [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" = ?) [1301400] 13:42:57.499 [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] 13:42:57.499 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:57.499 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:57.499 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:57.500 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:57.500 [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 [] 13:42:57.500 [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 [] 13:42:57.500 [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/54/e7/54e79de3db3b26b931b963fb1c7546c7548c27ad1569b9bec0fb95b26d8f0e64.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:58.433 [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/c5/c4/c5c46411985539c003e1064de35f073ab568242b1ea84fc4344e2b1ed299c538.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. 13:42:58.433 [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" 13:42:58.433 [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" 13:42:58.434 [info] {"args":{"id":1301399},"id":541545,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2107664,"event":"job:stop","queue_time":8325517,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:58.440 [info] {"args":{"id":2720968},"id":541547,"meta":{},"system_time":1793040178440256415,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:58.440 [debug] QUERY OK source="media_items" db=0.1ms idle=939.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] 13:42:58.440 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:58.441 [debug] QUERY OK source="sources" db=0.1ms idle=940.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:42:58.441 [debug] QUERY OK source="media_profiles" db=0.1ms idle=556.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:58.441 [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 [2720968] 13:42:58.443 [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" = ?) [2720968] 13:42:58.443 [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] 13:42:58.443 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:58.444 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:58.444 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:58.445 [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 [] 13:42:58.445 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:58.445 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:58.445 [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/30/04/30042ae39576e0e532591ad2f0d1a868e1d5c96b0c6c85b00283a8e53c1bca9e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:59.368 [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/54/e7/54e79de3db3b26b931b963fb1c7546c7548c27ad1569b9bec0fb95b26d8f0e64.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. 13:42:59.368 [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" 13:42:59.368 [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" 13:42:59.369 [info] {"args":{"id":1301400},"id":541546,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1872673,"event":"job:stop","queue_time":9495514,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:59.375 [info] {"args":{"id":3440530},"id":541548,"meta":{},"system_time":1793040179375210957,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:42:59.375 [debug] QUERY OK source="media_items" db=0.1ms idle=929.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3440530] 13:42:59.375 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:59.375 [debug] QUERY OK source="sources" db=0.1ms idle=930.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:42:59.376 [debug] QUERY OK source="media_profiles" db=0.1ms idle=490.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:42:59.376 [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 [3440530] 13:42:59.378 [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" = ?) [3440530] 13:42:59.378 [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] 13:42:59.378 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:59.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 [] 13:42:59.379 [debug] Running yt-dlp command for action: get_downloadable_status 13:42:59.379 [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 [] 13:42:59.380 [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 [] 13:42:59.380 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:59.380 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c3/98/c398ab3ce3365bb417ba692711a4808a5f1fe3c241cf36fa00cf89a7fc92faf5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:42:59.878 [info] {"source":"oban","duration":7457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.257 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:43:00.357 [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/30/04/30042ae39576e0e532591ad2f0d1a868e1d5c96b0c6c85b00283a8e53c1bca9e.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. 13:43:00.357 [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" 13:43:00.357 [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" 13:43:00.357 [info] {"args":{"id":2720968},"id":541547,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1917213,"event":"job:stop","queue_time":10439578,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:43:00.364 [info] {"args":{"id":3675707},"id":541549,"meta":{},"system_time":1793040180364272636,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:43:00.365 [debug] QUERY OK source="media_items" db=0.6ms idle=486.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" = ?) [3675707] 13:43:00.365 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:43:00.365 [debug] QUERY OK source="sources" db=0.1ms idle=479.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:43:00.365 [debug] QUERY OK source="media_profiles" db=0.1ms idle=107.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:43:00.366 [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 [3675707] 13:43:00.367 [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" = ?) [3675707] 13:43:00.368 [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] 13:43:00.368 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:43:00.368 [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 [] 13:43:00.368 [debug] Running yt-dlp command for action: get_downloadable_status 13:43:00.369 [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 [] 13:43:00.370 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:43:00.370 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:43:00.370 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/ab/8bababee7cbb80f19d94f1e6c4f8a5c25c3a171aaba38107e1c34bfe0af8093a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:43:00.893 [info] {"args":{"id":51},"id":541534,"meta":{},"system_time":1793040180893188319,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:43:00.893 [debug] QUERY OK source="sources" db=0.1ms idle=523.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:43:00.893 [debug] QUERY OK source="settings" db=0.1ms idle=523.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:43:00.894 [debug] QUERY OK source="media_profiles" db=0.1ms idle=523.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] 13:43:00.894 [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 [] 13:43:00.894 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 13:43:01.088 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 13:43:01.089 [debug] QUERY OK source="media_items" db=0.4ms idle=195.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, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 13:43:01.090 [debug] QUERY OK source="media_items" db=0.5ms 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] 13:43:01.091 [debug] QUERY OK source="tasks" db=0.1ms idle=196.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541551, 51, ~U[2026-10-26 18:43:01Z], ~U[2026-10-26 18:43:01Z]] 13:43:01.091 [info] {"args":{"id":51},"id":541534,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":197880,"event":"job:stop","queue_time":677466,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:43:01.303 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c3/98/c398ab3ce3365bb417ba692711a4808a5f1fe3c241cf36fa00cf89a7fc92faf5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 13:43:01.303 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:43:01.303 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:43:01.303 [info] {"args":{"id":3440530},"id":541548,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1928336,"event":"job:stop","queue_time":11374571,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:43:02.147 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/ab/8bababee7cbb80f19d94f1e6c4f8a5c25c3a171aaba38107e1c34bfe0af8093a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 13:43:02.147 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:43:02.147 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:43:02.148 [info] {"args":{"id":3675707},"id":541549,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1783325,"event":"job:stop","queue_time":12363516,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:43:29.886 [info] {"source":"oban","duration":7705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:59.892 [info] {"source":"oban","duration":5749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.258 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:44:29.902 [info] {"source":"oban","duration":9522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:44:55.025 [info] {"args":{"id":3639918},"id":538875,"meta":{},"system_time":1793040295024929272,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":17,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:44:55.026 [debug] QUERY OK source="media_items" db=0.8ms idle=1566.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" = ?) [3639918] 13:44:55.026 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:44:55.026 [debug] QUERY OK source="sources" db=0.2ms idle=1010.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:44:55.026 [debug] QUERY OK source="media_profiles" db=0.1ms idle=568.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] 13:44:55.027 [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 [3639918] 13:44:55.028 [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" = ?) [3639918] 13:44:55.029 [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] 13:44:55.029 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:44:55.029 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:44:55.030 [debug] Running yt-dlp command for action: get_downloadable_status 13:44:55.031 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:44:55.031 [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 [] 13:44:55.031 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:44:55.032 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0K7lXvLxCRI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e4/bb/e4bbf3f41cdc576ce1f9704fae5f3d9c4ee4ccf0c27625e4b4acc246178e0a5e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:44:56.026 [info] {"args":{"id":1627698},"id":538887,"meta":{},"system_time":1793040296026373771,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":17,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:44:56.026 [debug] QUERY OK source="media_items" db=0.2ms idle=995.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" = ?) [1627698] 13:44:56.027 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:44:56.027 [debug] QUERY OK source="sources" db=0.2ms idle=995.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:44:56.027 [debug] QUERY OK source="media_profiles" db=0.1ms idle=995.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:44:56.028 [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 [1627698] 13:44:56.030 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [1627698] 13:44:56.031 [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] 13:44:56.031 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:44:56.031 [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 [] 13:44:56.031 [debug] Running yt-dlp command for action: get_downloadable_status 13:44:56.032 [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 [] 13:44:56.032 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:44:56.033 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:44:56.033 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=spm2Mx15Fi8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/9b/b99baa079892c8e5e01923b2ce07c3fe01e9c7e4415d315809dd6a598490f9b5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:44:57.119 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0K7lXvLxCRI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e4/bb/e4bbf3f41cdc576ce1f9704fae5f3d9c4ee4ccf0c27625e4b4acc246178e0a5e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 0K7lXvLxCRI: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:44:57.119 [error] yt-dlp download error for media item #3639918: "ERROR: [youtube] 0K7lXvLxCRI: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:44:57.119 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3639918},"id":538875,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2094455,"event":"job:exception","queue_time":112567,"attempt":17,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:44:57.966 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=spm2Mx15Fi8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/9b/b99baa079892c8e5e01923b2ce07c3fe01e9c7e4415d315809dd6a598490f9b5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] spm2Mx15Fi8: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:44:57.966 [error] yt-dlp download error for media item #1627698: "ERROR: [youtube] spm2Mx15Fi8: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:44:57.967 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1627698},"id":538887,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1940285,"event":"job:exception","queue_time":919430,"attempt":17,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:44:59.912 [info] {"source":"oban","duration":10173,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.259 [info] {"source":"oban","duration":148,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:45:27.060 [info] {"args":{"id":29},"id":540922,"meta":{},"system_time":1793040327060646679,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:45:27.061 [debug] QUERY OK source="sources" db=0.8ms idle=1602.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:27.062 [debug] QUERY OK source="settings" db=0.1ms idle=1603.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:45:27.062 [debug] QUERY OK source="media_items" db=0.5ms idle=1010.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")))) [29] 13:45:27.063 [debug] QUERY OK source="media_items" db=0.1ms idle=8.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [29] 13:45:27.063 [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] 13:45:27.063 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:45:27.064 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:45:27.065 [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."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [29] 13:45:27.067 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:45:27.068 [debug] Current batch of media processed. Will check again in 1000ms 13:45:27.068 [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 [] 13:45:27.068 [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 [] 13:45:27.068 [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 [] 13:45:27.068 [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/5f/d4/5fd467b9b7f760cfa64a247ff96b144cd564881fc156a9f87503b676251cbc6e.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8c/cc/8ccc347a5e9e9d0033785a2f70935c58b99b1b9f75b4f755cfaa81eb948bf984.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:45:28.068 [debug] Current batch of media processed. Will check again in 1000ms 13:45:29.069 [debug] Current batch of media processed. Will check again in 1000ms 13:45:29.922 [info] {"source":"oban","duration":9108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:30.070 [debug] Current batch of media processed. Will check again in 1000ms 13:45:31.071 [debug] Current batch of media processed. Will check again in 1000ms 13:45:32.072 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#uart #rs232 #uefi #grub here's one for all you little goblins watching these deranged hashtags, oh god this isn't gonna be a short is it, youtube's just gonna show this as a regular video aaahhh yep okay well enjoy.", "duration" => 826, "filename" => "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e072600_PCIe NanoKVM vs cheap UART⧸COM "house MAX3232" converter modules woes.mp4", "id" => "4PeHGVhZelI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4PeHGVhZelI", "playlist_index" => 1, "timestamp" => 1785098682, "title" => "PCIe NanoKVM vs cheap UART/COM \"house MAX3232\" converter modules woes", "upload_date" => "20260726"} 13:45:32.073 [debug] QUERY OK source="sources" db=0.1ms idle=1614.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:45:32.073 [debug] QUERY OK source="sources" db=0.1ms idle=1614.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:32.073 [debug] QUERY OK source="media_items" db=0.3ms idle=1014.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 20:44:42Z], 29] 13:45:32.075 [debug] QUERY OK source="media_items" db=1.6ms idle=615.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" ["#uart #rs232 #uefi #grub here's one for all you little goblins watching these deranged hashtags, oh god this isn't gonna be a short is it, youtube's just gonna show this as a regular video aaahhh yep okay well enjoy.", "PCIe NanoKVM vs cheap UART/COM \"house MAX3232\" converter modules woes", "81344d37-5ce7-4110-8ceb-84ea7f8ed401", "4PeHGVhZelI", 826, false, "https://www.youtube.com/watch?v=4PeHGVhZelI", 1, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e072600_PCIe NanoKVM vs cheap UART⧸COM "house MAX3232" converter modules woes.mp4", false, false, false, 29, [], 98, ~U[2026-07-26 20:44:42Z], ~U[2026-10-26 18:45:32Z], ~U[2026-10-26 18:45:32Z], "#uart #rs232 #uefi #grub here's one for all you little goblins watching these deranged hashtags, oh god this isn't gonna be a short is it, youtube's just gonna show this as a regular video aaahhh yep okay well enjoy.", "PCIe NanoKVM vs cheap UART/COM \"house MAX3232\" converter modules woes", "4PeHGVhZelI", 826, false, "https://www.youtube.com/watch?v=4PeHGVhZelI", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e072600_PCIe NanoKVM vs cheap UART⧸COM "house MAX3232" converter modules woes.mp4", false, 29, ~U[2026-07-26 20:44:42Z]] 13:45:32.076 [debug] QUERY OK source="sources" db=0.1ms idle=15.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 13:45:32.076 [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] 13:45:32.077 [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 [3529218] 13:45:32.077 [debug] Current batch of media processed. Will check again in 1000ms 13:45:33.077 [debug] Current batch of media processed. Will check again in 1000ms 13:45:34.078 [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" => 2, "timestamp" => 1778700603, "title" => "Carol & Chris chat about The Rust Book (3rd edition)", "upload_date" => "20260513"} 13:45:34.079 [debug] QUERY OK source="sources" db=0.2ms idle=620.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:45:34.079 [debug] QUERY OK source="sources" db=0.1ms idle=620.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:34.080 [debug] QUERY OK source="media_items" db=0.3ms idle=621.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 19:30:03Z], 29] 13:45:34.095 [debug] QUERY OK source="media_items" db=14.9ms idle=621.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 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)", "cf3e9157-2923-4c11-99c9-f5ef0f4a3003", "IrAg4mbCVPU", 696, false, "https://www.youtube.com/watch?v=IrAg4mbCVPU", 2, "/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-10-26 18:45:34Z], ~U[2026-10-26 18:45:34Z], "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]] 13:45:34.095 [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" = ?) [29] 13:45:34.096 [debug] QUERY OK source="media_profiles" db=0.1ms idle=16.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:45:34.096 [debug] QUERY OK source="media_items" db=0.1ms idle=16.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2948151] 13:45:34.096 [debug] Current batch of media processed. Will check again in 1000ms 13:45:35.097 [debug] Current batch of media processed. Will check again in 1000ms 13:45:36.098 [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" => 3, "timestamp" => 1769029206, "title" => "I bought us a Zed feature with cookies", "upload_date" => "20260121"} 13:45:36.099 [debug] QUERY OK source="sources" db=0.2ms idle=640.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:45:36.099 [debug] QUERY OK source="sources" db=0.1ms idle=640.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:36.100 [debug] QUERY OK source="media_items" db=0.2ms idle=641.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] 13:45:36.117 [debug] QUERY OK source="media_items" db=17.2ms idle=641.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", "87c366a1-cbf6-4570-b0a3-3eb9f72889ed", "fCgNa-WwymY", 498, false, "https://www.youtube.com/watch?v=fCgNa-WwymY", 3, "/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-10-26 18:45:36Z], ~U[2026-10-26 18:45:36Z], "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]] 13:45:36.118 [debug] QUERY OK source="sources" db=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" = ?) [29] 13:45:36.118 [debug] QUERY OK source="media_profiles" db=0.1ms idle=19.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:45:36.119 [debug] QUERY OK source="media_items" db=0.2ms idle=19.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2078524] 13:45:36.119 [debug] Current batch of media processed. Will check again in 1000ms 13:45:37.119 [debug] Current batch of media processed. Will check again in 1000ms 13:45:38.120 [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" => 4, "timestamp" => 1767218406, "title" => "2025 Recap: so many projects", "upload_date" => "20251231"} 13:45:38.121 [debug] QUERY OK source="sources" db=0.2ms idle=662.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:45:38.121 [debug] QUERY OK source="sources" db=0.1ms idle=663.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:38.122 [debug] QUERY OK source="media_items" db=0.2ms idle=663.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-31 22:00:06Z], 29] 13:45:38.126 [debug] QUERY OK source="media_items" db=3.7ms idle=663.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" ["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", "ee973d79-819a-4735-850b-6b515eb6b31d", "5Rj0Nxk6w08", 2030, false, "https://www.youtube.com/watch?v=5Rj0Nxk6w08", 4, "/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-10-26 18:45:38Z], ~U[2026-10-26 18:45:38Z], "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]] 13:45:38.127 [debug] QUERY OK source="sources" db=0.2ms idle=58.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 13:45:38.127 [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] 13:45:38.127 [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 [1907774] 13:45:38.127 [debug] Current batch of media processed. Will check again in 1000ms 13:45:39.128 [debug] Current batch of media processed. Will check again in 1000ms 13:45:40.129 [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" => 5, "timestamp" => 1763836206, "title" => "Does Dioxus spark joy?", "upload_date" => "20251122"} 13:45:40.130 [debug] QUERY OK source="sources" db=0.2ms idle=671.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:45:40.130 [debug] QUERY OK source="sources" db=0.1ms idle=671.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:40.131 [debug] QUERY OK source="media_items" db=0.2ms idle=672.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] 13:45:40.134 [debug] QUERY OK source="media_items" db=2.7ms idle=672.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" ["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?", "b5e3a1f4-7e2b-4c28-a108-8539e19f315a", "s633wfOrmuU", 645, false, "https://www.youtube.com/watch?v=s633wfOrmuU", 5, "/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-10-26 18:45:40Z], ~U[2026-10-26 18:45:40Z], "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]] 13:45:40.134 [debug] QUERY OK source="sources" db=0.3ms idle=64.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:45:40.135 [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] 13:45:40.135 [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 [1600644] 13:45:40.135 [debug] Current batch of media processed. Will check again in 1000ms 13:45:41.136 [debug] Current batch of media processed. Will check again in 1000ms 13:45:42.137 [debug] Current batch of media processed. Will check again in 1000ms 13:45:43.138 [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" => 6, "timestamp" => 1761998860, "title" => "Engineering a Rust optimization quiz", "upload_date" => "20251101"} 13:45:43.139 [debug] QUERY OK source="sources" db=0.2ms idle=1680.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:45:43.139 [debug] QUERY OK source="sources" db=0.1ms idle=1680.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:43.140 [debug] QUERY OK source="media_items" db=0.2ms idle=1681.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-01 12:07:40Z], 29] 13:45:43.142 [debug] QUERY OK source="media_items" db=2.1ms idle=1068.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", "53540404-731d-4c18-a82c-8cc115284a91", "KmZz-sZPTTo", 798, false, "https://www.youtube.com/watch?v=KmZz-sZPTTo", 6, "/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-10-26 18:45:43Z], ~U[2026-10-26 18:45: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]] 13:45:43.142 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [29] 13:45:43.142 [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] 13:45:43.143 [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 [1431310] 13:45:43.143 [debug] Current batch of media processed. Will check again in 1000ms 13:45:44.144 [debug] Current batch of media processed. Will check again in 1000ms 13:45:45.145 [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" => 7, "timestamp" => 1755894606, "title" => "The science of loudness", "upload_date" => "20250822"} 13:45:45.146 [debug] QUERY OK source="sources" db=0.2ms idle=687.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [29] 13:45:45.146 [debug] QUERY OK source="sources" db=0.1ms idle=687.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:45.147 [debug] QUERY OK source="media_items" db=0.2ms idle=688.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-22 20:30:06Z], 29] 13:45:45.150 [debug] QUERY OK source="media_items" db=2.5ms idle=688.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 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", "2cc5c51a-4bab-40d8-97e8-a093013cf4f0", "98NB0BcaZTI", 686, false, "https://www.youtube.com/watch?v=98NB0BcaZTI", 7, "/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-10-26 18:45:45Z], ~U[2026-10-26 18:45:45Z], "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]] 13:45:45.150 [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" = ?) [29] 13:45:45.150 [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] 13:45:45.151 [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 [926735] 13:45:45.151 [debug] Current batch of media processed. Will check again in 1000ms 13:45:46.151 [debug] Current batch of media processed. Will check again in 1000ms 13:45:47.152 [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" => 8, "timestamp" => 1751058006, "title" => "All color is best-effort", "upload_date" => "20250627"} 13:45:47.153 [debug] QUERY OK source="sources" db=0.1ms idle=694.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:45:47.153 [debug] QUERY OK source="sources" db=0.1ms idle=694.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 13:45:47.154 [debug] QUERY OK source="media_items" db=0.2ms idle=695.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-27 21:00:06Z], 29] 13:45:47.159 [debug] QUERY OK source="media_items" db=5.1ms idle=695.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 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", "b25c2933-4ac3-4c3a-b968-6c4be23bfc59", "OzCbdsVVnKI", 1156, false, "https://www.youtube.com/watch?v=OzCbdsVVnKI", 8, "/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-10-26 18:45:47Z], ~U[2026-10-26 18:45:47Z], "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]] 13:45:47.159 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 13:45:47.160 [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] 13:45:47.160 [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 [655367] 13:45:47.160 [debug] Current batch of media processed. Will check again in 1000ms 13:45:48.161 [debug] Current batch of media processed. Will check again in 1000ms 13:45:49.162 [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" => 9, "timestamp" => 1749150501, "title" => "Introducing facet: Reflection for Rust", "upload_date" => "20250605"} 13:45:49.163 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=704.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:45:49.163 [debug] QUERY OK source="sources" db=0.1ms idle=705.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:49.164 [debug] QUERY OK source="media_items" db=0.3ms idle=705.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 19:08:21Z], 29] 13:45:49.167 [debug] QUERY OK source="media_items" db=2.6ms idle=705.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", "01effc5d-3f6f-4240-a85e-4ba1be13fb5a", "0mqFCqw_XvI", 1132, false, "https://www.youtube.com/watch?v=0mqFCqw_XvI", 9, "/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-10-26 18:45:49Z], ~U[2026-10-26 18:45: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]] 13:45:49.168 [debug] QUERY OK source="sources" db=0.2ms idle=88.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 13:45:49.168 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:45:49.169 [debug] QUERY OK source="media_items" db=0.3ms 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 [542401] 13:45:49.169 [debug] Current batch of media processed. Will check again in 1000ms 13:45:50.169 [debug] Current batch of media processed. Will check again in 1000ms 13:45:51.170 [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" => 10, "timestamp" => 1748540406, "title" => "The virtue of unsynn", "upload_date" => "20250529"} 13:45:51.171 [debug] QUERY OK source="sources" db=0.2ms idle=712.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:45:51.171 [debug] QUERY OK source="sources" db=0.1ms idle=712.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:51.172 [debug] QUERY OK source="media_items" db=0.2ms idle=713.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-29 17:40:06Z], 29] 13:45:51.174 [debug] QUERY OK source="media_items" db=1.7ms idle=713.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/ . 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", "164659d1-d638-46c6-bc47-c87ee63a06a1", "YtbUzIQw-so", 947, false, "https://www.youtube.com/watch?v=YtbUzIQw-so", 10, "/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-10-26 18:45:51Z], ~U[2026-10-26 18:45: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]] 13:45:51.174 [debug] QUERY OK source="sources" db=0.1ms idle=92.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:45:51.174 [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] 13:45:51.175 [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 [508744] 13:45:51.175 [debug] Current batch of media processed. Will check again in 1000ms 13:45:52.175 [debug] Current batch of media processed. Will check again in 1000ms 13:45:53.176 [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" => 11, "timestamp" => 1744835406, "title" => "The promise of Rust", "upload_date" => "20250416"} 13:45:53.177 [debug] QUERY OK source="sources" db=0.2ms idle=718.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:45:53.177 [debug] QUERY OK source="sources" db=0.1ms idle=718.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:53.178 [debug] QUERY OK source="media_items" db=0.2ms idle=719.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-16 20:30:06Z], 29] 13:45:53.181 [debug] QUERY OK source="media_items" db=2.6ms idle=719.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 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", "c5d34e1c-2b20-4572-a5f4-0f198e8eea4a", "zo6yZisg7N0", 1745, false, "https://www.youtube.com/watch?v=zo6yZisg7N0", 11, "/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-10-26 18:45:53Z], ~U[2026-10-26 18:45: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]] 13:45:53.181 [debug] QUERY OK source="sources" db=0.2ms idle=98.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:45:53.182 [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] 13:45:53.182 [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 [360920] 13:45:53.182 [debug] Current batch of media processed. Will check again in 1000ms 13:45:54.183 [debug] Current batch of media processed. Will check again in 1000ms 13:45:55.184 [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" => 12, "timestamp" => 1738958286, "title" => "The case for sans-io", "upload_date" => "20250207"} 13:45:55.185 [debug] QUERY OK source="sources" db=0.3ms idle=726.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:45:55.185 [debug] QUERY OK source="sources" db=0.1ms idle=727.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:55.186 [debug] QUERY OK source="media_items" db=0.2ms idle=727.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] 13:45:55.189 [debug] QUERY OK source="media_items" db=2.2ms idle=727.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 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", "55d1770f-77a0-44b2-a323-a1cc23235cbc", "RYHYiXMJdZI", 1449, false, "https://www.youtube.com/watch?v=RYHYiXMJdZI", 12, "/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-10-26 18:45:55Z], ~U[2026-10-26 18:45: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]] 13:45:55.189 [debug] QUERY OK source="sources" db=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 13:45:55.189 [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] 13:45:55.190 [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 [360921] 13:45:55.190 [debug] Current batch of media processed. Will check again in 1000ms 13:45:56.190 [debug] Current batch of media processed. Will check again in 1000ms 13:45:57.191 [debug] Current batch of media processed. Will check again in 1000ms 13:45:58.192 [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" => 13, "timestamp" => 1735158606, "title" => "Catching up with async Rust", "upload_date" => "20241225"} 13:45:58.193 [debug] QUERY OK source="sources" db=0.3ms idle=1734.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:45:58.194 [debug] QUERY OK source="sources" db=0.1ms idle=1735.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:45:58.194 [debug] QUERY OK source="media_items" db=0.3ms idle=1735.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-25 20:30:06Z], 29] 13:45:58.197 [debug] QUERY OK source="media_items" db=2.1ms idle=1106.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/. 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", "a81ba07d-2340-4066-bb82-92ce83590563", "bnmln9HtqEI", 1074, false, "https://www.youtube.com/watch?v=bnmln9HtqEI", 13, "/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-10-26 18:45:58Z], ~U[2026-10-26 18:45:58Z], "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]] 13:45:58.197 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [29] 13:45:58.198 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:45:58.198 [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 [360922] 13:45:58.198 [debug] Current batch of media processed. Will check again in 1000ms 13:45:59.199 [debug] Current batch of media processed. Will check again in 1000ms 13:45:59.933 [info] {"source":"oban","duration":9779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.200 [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" => 14, "timestamp" => 1732388406, "title" => "Highlighted code in slides", "upload_date" => "20241123"} 13:46:00.201 [debug] QUERY OK source="sources" db=0.2ms idle=742.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:46:00.201 [debug] QUERY OK source="sources" db=0.1ms idle=742.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:46:00.201 [debug] QUERY OK source="media_items" db=0.3ms idle=742.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-23 19:00:06Z], 29] 13:46:00.203 [debug] QUERY OK source="media_items" db=1.5ms idle=268.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" ["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", "1e5580c5-70b8-45aa-b69b-b4867bdf745a", "OOO-_BCSwiU", 717, false, "https://www.youtube.com/watch?v=OOO-_BCSwiU", 14, "/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-10-26 18:46:00Z], ~U[2026-10-26 18:46:00Z], "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]] 13:46:00.204 [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" = ?) [29] 13:46:00.204 [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] 13:46:00.204 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [360923] 13:46:00.204 [debug] Current batch of media processed. Will check again in 1000ms 13:46:00.260 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:46:01.205 [debug] Current batch of media processed. Will check again in 1000ms 13:46:02.207 [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" => 15, "timestamp" => 1718051407, "title" => "I ported h2spec to Rust (also: codegen!)", "upload_date" => "20240610"} 13:46:02.207 [debug] QUERY OK source="sources" db=0.2ms idle=748.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:46:02.208 [debug] QUERY OK source="sources" db=0.1ms idle=749.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:46:02.208 [debug] QUERY OK source="media_items" db=0.3ms idle=749.5ms 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] 13:46:02.256 [debug] QUERY OK source="media_items" db=47.3ms idle=750.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\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!)", "3c942e52-6081-4c59-a8bf-c4b32451a9fd", "eEtawNgwSC8", 969, false, "https://www.youtube.com/watch?v=eEtawNgwSC8", 15, "/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-10-26 18:46:02Z], ~U[2026-10-26 18:46:02Z], "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]] 13:46:02.257 [debug] QUERY OK source="sources" db=0.7ms idle=163.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:46:02.257 [debug] QUERY OK source="media_profiles" db=0.1ms idle=50.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] 13:46:02.258 [debug] QUERY OK source="media_items" db=0.1ms idle=49.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 [360924] 13:46:02.258 [debug] Current batch of media processed. Will check again in 1000ms 13:46:03.258 [debug] Current batch of media processed. Will check again in 1000ms 13:46:04.178 [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/5f/d4/5fd467b9b7f760cfa64a247ff96b144cd564881fc156a9f87503b676251cbc6e.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8c/cc/8ccc347a5e9e9d0033785a2f70935c58b99b1b9f75b4f755cfaa81eb948bf984.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:46:04.179 [debug] Gracefully stopping file follower 13:46:04.179 [debug] QUERY OK source="sources" db=0.2ms idle=720.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 13:46:04.180 [debug] QUERY OK source="sources" db=0.1ms idle=721.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:46:04.180 [debug] QUERY OK source="media_items" db=0.2ms idle=721.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 20:44:42Z], 29] 13:46:04.181 [debug] QUERY OK source="media_items" db=0.6ms idle=721.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" ["#uart #rs232 #uefi #grub here's one for all you little goblins watching these deranged hashtags, oh god this isn't gonna be a short is it, youtube's just gonna show this as a regular video aaahhh yep okay well enjoy.", "PCIe NanoKVM vs cheap UART/COM \"house MAX3232\" converter modules woes", "e6782ca0-135c-4abd-b392-f1a77e691df3", "4PeHGVhZelI", 826, false, "https://www.youtube.com/watch?v=4PeHGVhZelI", 1, "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e072600_PCIe NanoKVM vs cheap UART⧸COM "house MAX3232" converter modules woes.mp4", false, false, false, 29, [], 98, ~U[2026-07-26 20:44:42Z], ~U[2026-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "#uart #rs232 #uefi #grub here's one for all you little goblins watching these deranged hashtags, oh god this isn't gonna be a short is it, youtube's just gonna show this as a regular video aaahhh yep okay well enjoy.", "PCIe NanoKVM vs cheap UART/COM \"house MAX3232\" converter modules woes", "4PeHGVhZelI", 826, false, "https://www.youtube.com/watch?v=4PeHGVhZelI", "/downloads/chris/tubes/fasterthanlime_[UCs4fQRyl1TJvoeOdekW6lYA]/Season 2026/s2026e072600_PCIe NanoKVM vs cheap UART⧸COM "house MAX3232" converter modules woes.mp4", false, 29, ~U[2026-07-26 20:44:42Z]] 13:46:04.181 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 13:46:04.182 [debug] QUERY OK source="media_items" db=0.4ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-13 19:30:03Z], 29] 13:46:04.183 [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 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)", "f5a3f411-0d4b-41a8-87ce-ec4a8b0a7093", "IrAg4mbCVPU", 696, false, "https://www.youtube.com/watch?v=IrAg4mbCVPU", 2, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.183 [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] 13:46:04.183 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 21:00:06Z], 29] 13:46:04.184 [debug] QUERY OK source="media_items" db=0.7ms idle=2.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 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", "5c9a0423-0aaf-4dd7-8c5f-55950acd77a2", "fCgNa-WwymY", 498, false, "https://www.youtube.com/watch?v=fCgNa-WwymY", 3, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.185 [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] 13:46:04.185 [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-12-31 22:00:06Z], 29] 13:46:04.187 [debug] QUERY OK source="media_items" db=1.0ms 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" ["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", "1aca80db-bd7c-4746-93b0-c941a7b17af5", "5Rj0Nxk6w08", 2030, false, "https://www.youtube.com/watch?v=5Rj0Nxk6w08", 4, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.187 [debug] QUERY OK source="sources" db=0.2ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 13:46:04.187 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-22 18:30:06Z], 29] 13:46:04.188 [debug] QUERY OK source="media_items" db=0.8ms idle=2.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" ["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?", "7c8e26a9-e454-48c4-b2eb-95ed28b7eb8c", "s633wfOrmuU", 645, false, "https://www.youtube.com/watch?v=s633wfOrmuU", 5, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.189 [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" = ?) [29] 13:46:04.189 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-01 12:07:40Z], 29] 13:46:04.190 [debug] QUERY OK source="media_items" db=0.6ms idle=2.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" ["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", "9d56cb18-b298-41ac-9b79-b4ec40346a42", "KmZz-sZPTTo", 798, false, "https://www.youtube.com/watch?v=KmZz-sZPTTo", 6, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.190 [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] 13:46:04.191 [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-08-22 20:30:06Z], 29] 13:46:04.192 [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 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", "109364cb-342e-49bc-9056-35a05f3b5e63", "98NB0BcaZTI", 686, false, "https://www.youtube.com/watch?v=98NB0BcaZTI", 7, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.192 [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] 13:46:04.193 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-27 21:00:06Z], 29] 13:46:04.194 [debug] QUERY OK source="media_items" db=1.0ms idle=2.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/ . 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", "8cbe6ed2-5176-4416-b60c-4ee3258460bd", "OzCbdsVVnKI", 1156, false, "https://www.youtube.com/watch?v=OzCbdsVVnKI", 8, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.194 [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" = ?) [29] 13:46:04.195 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 19:08:21Z], 29] 13:46:04.196 [debug] QUERY OK source="media_items" db=0.8ms idle=2.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" ["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", "895f8391-66eb-45f9-8ffb-f433870e341f", "0mqFCqw_XvI", 1132, false, "https://www.youtube.com/watch?v=0mqFCqw_XvI", 9, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.196 [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" = ?) [29] 13:46:04.197 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-29 17:40:06Z], 29] 13:46:04.198 [debug] QUERY OK source="media_items" db=0.7ms idle=2.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 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", "072f3352-1ba1-429c-ae57-307f7781346d", "YtbUzIQw-so", 947, false, "https://www.youtube.com/watch?v=YtbUzIQw-so", 10, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.198 [debug] QUERY OK source="sources" db=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 13:46:04.198 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-16 20:30:06Z], 29] 13:46:04.199 [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", "bdc8a038-6645-4c81-bc51-3ec63eacf030", "zo6yZisg7N0", 1745, false, "https://www.youtube.com/watch?v=zo6yZisg7N0", 11, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.200 [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" = ?) [29] 13:46:04.200 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-07 19:58:06Z], 29] 13:46:04.201 [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" ["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", "c84a5315-d673-4b75-b3c6-6386d403d0d2", "RYHYiXMJdZI", 1449, false, "https://www.youtube.com/watch?v=RYHYiXMJdZI", 12, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.202 [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] 13:46:04.202 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-25 20:30:06Z], 29] 13:46:04.203 [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", "dd4654c8-f07a-4178-8d5e-ea83e55eae14", "bnmln9HtqEI", 1074, false, "https://www.youtube.com/watch?v=bnmln9HtqEI", 13, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.203 [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" = ?) [29] 13:46:04.203 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-23 19:00:06Z], 29] 13:46:04.204 [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/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", "ffbd4a11-97eb-4ff3-9a25-612ef4ca5b19", "OOO-_BCSwiU", 717, false, "https://www.youtube.com/watch?v=OOO-_BCSwiU", 14, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.205 [debug] QUERY OK source="sources" db=0.2ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 13:46:04.205 [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[2024-06-10 20:30:07Z], 29] 13:46:04.207 [debug] QUERY OK source="media_items" db=1.2ms 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" ["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!)", "6cc8a5ed-8fe9-495d-ac2a-92ea5a86c08a", "eEtawNgwSC8", 969, false, "https://www.youtube.com/watch?v=eEtawNgwSC8", 15, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.207 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [29] 13:46:04.207 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-03-09 08:57:49Z], 29] 13:46:04.211 [debug] QUERY OK source="media_items" db=3.5ms idle=2.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/. 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", "06ae4ae3-8f7e-4e60-9393-05c3490372f3", "jjKFXlFNR4E", 1280, false, "https://www.youtube.com/watch?v=jjKFXlFNR4E", 16, "/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-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], "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]] 13:46:04.212 [debug] QUERY OK source="sources" db=0.1ms idle=6.5ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z], 29] 13:46:04.212 [debug] QUERY OK source="media_items" db=0.3ms idle=5.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")))) [29] 13:46:04.213 [debug] QUERY OK source="media_items" db=0.2ms idle=5.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")))) [29] 13:46:04.213 [debug] QUERY OK source="media_items" db=0.1ms idle=5.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [29] 13:46:04.214 [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" [541552, 29, ~U[2026-10-26 18:46:04Z], ~U[2026-10-26 18:46:04Z]] 13:46:04.214 [info] {"args":{"id":29},"id":540922,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":37153699,"event":"job:stop","queue_time":17669,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:46:29.943 [info] {"source":"oban","duration":9177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:59.955 [info] {"source":"oban","duration":10805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:47:00.261 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:47:29.966 [info] {"source":"oban","duration":10320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:42.217 [info] {"args":{"id":2514218},"id":541304,"meta":{},"system_time":1793040462217474692,"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"]} 13:47:42.217 [debug] QUERY OK source="media_items" db=0.1ms idle=759.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" = ?) [2514218] 13:47:42.218 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:47:42.218 [debug] QUERY OK source="sources" db=0.3ms idle=759.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:47:42.219 [debug] QUERY OK source="media_profiles" db=1.0ms idle=759.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] 13:47:42.220 [debug] QUERY OK source="media_items" db=0.7ms 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 [2514218] 13:47:42.222 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [2514218] 13:47:42.223 [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] 13:47:42.223 [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 [] 13:47:42.223 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:47:42.223 [debug] Running yt-dlp command for action: get_downloadable_status 13:47:42.225 [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 [] 13:47:42.225 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:47:42.225 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:47:42.225 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1khrQ-3j2bM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d2/6c/d26c14217b8a72aa604f5c95e8c85569283ad0b664e8e635cf8e326cf7a670c5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:47:44.197 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=1khrQ-3j2bM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d2/6c/d26c14217b8a72aa604f5c95e8c85569283ad0b664e8e635cf8e326cf7a670c5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] 1khrQ-3j2bM: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:47:44.197 [error] yt-dlp download error for media item #2514218: "ERROR: [youtube] 1khrQ-3j2bM: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:47:44.198 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2514218},"id":541304,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1980617,"event":"job:exception","queue_time":586756,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:47:59.975 [info] {"source":"oban","duration":8380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.263 [info] {"source":"oban","duration":448,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:48:29.982 [info] {"source":"oban","duration":7060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:59.992 [info] {"source":"oban","duration":9174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.263 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:49:29.999 [info] {"source":"oban","duration":5675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.005 [info] {"source":"oban","duration":5911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.264 [info] {"source":"oban","duration":158,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:50:30.012 [info] {"source":"oban","duration":5901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.018 [info] {"source":"oban","duration":4442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.265 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:51:30.024 [info] {"source":"oban","duration":6208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.034 [info] {"source":"oban","duration":9231,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.266 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:52:30.041 [info] {"source":"oban","duration":5978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:48.575 [info] {"args":{"id":52},"id":541550,"meta":{},"system_time":1793040768575018907,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:52:48.575 [debug] QUERY OK source="sources" db=0.2ms idle=1116.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:52:48.576 [debug] QUERY OK source="settings" db=0.6ms idle=1116.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:48.577 [debug] QUERY OK source="media_profiles" db=0.7ms idle=1010.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:52:48.577 [debug] QUERY OK source="settings" db=0.7ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:48.577 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 13:52:48.986 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 13:52:48.987 [debug] QUERY OK source="media_items" db=0.4ms idle=412.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 13:52:48.989 [debug] QUERY OK source="media_items" db=1.1ms idle=412.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] 13:52:48.993 [debug] QUERY OK source="tasks" db=0.2ms idle=415.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541553, 1301334, ~U[2026-10-26 18:52:48Z], ~U[2026-10-26 18:52:48Z]] 13:52:48.997 [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" [541554, 1301335, ~U[2026-10-26 18:52:48Z], ~U[2026-10-26 18:52:48Z]] 13:52:49.000 [info] {"args":{"id":1301334},"id":541553,"meta":{},"system_time":1793040769000384965,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:49.000 [info] {"args":{"id":1301335},"id":541554,"meta":{},"system_time":1793040769000422187,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:49.001 [debug] QUERY OK source="media_items" db=0.5ms idle=3.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 13:52:49.001 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:52:49.001 [debug] QUERY OK source="media_items" db=0.8ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 13:52:49.001 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:52:49.002 [debug] QUERY OK source="sources" db=0.4ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:52:49.002 [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] 13:52:49.002 [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] 13:52:49.002 [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] 13:52:49.002 [debug] QUERY OK source="media_items" db=0.2ms idle=0.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1301335] 13:52:49.003 [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 [1301334] 13:52:49.003 [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" [541555, 1301347, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.005 [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" = ?) [1301335] 13:52:49.006 [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] 13:52:49.006 [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 [] 13:52:49.006 [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" [541556, 1301392, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.006 [debug] QUERY OK source="media_metadata" db=0.0ms idle=0.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] 13:52:49.006 [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 [] 13:52:49.007 [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] 13:52:49.007 [debug] Running yt-dlp command for action: get_downloadable_status 13:52:49.007 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:49.007 [debug] QUERY OK source="settings" db=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:49.008 [debug] Running yt-dlp command for action: get_downloadable_status 13:52:49.008 [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 [] 13:52:49.008 [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 [] 13:52:49.008 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:49.008 [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/fb/0d/fb0df7304bf978a42e3131c1c71160f4cc5a3aee56a137d6568fbffb39b0ac98.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:52:49.009 [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 [] 13:52:49.009 [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 [] 13:52:49.009 [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 [] 13:52:49.009 [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/a5/7e/a57ebe8311c24e37b599f83dbc6c5e2580235ab4e5ff4d4d9628fc147aac4af3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:52:49.010 [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" [541557, 1301393, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.013 [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" [541558, 1301394, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.016 [debug] QUERY OK source="tasks" db=0.3ms idle=3.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541559, 1301395, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.020 [debug] QUERY OK source="tasks" db=0.1ms idle=3.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541560, 1301397, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.022 [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" [541561, 1301398, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.025 [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" [541562, 1301399, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.028 [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" [541563, 1301400, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.030 [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" [541564, 2720968, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.033 [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" [541565, 3440530, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.036 [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" [541566, 3675707, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.059 [debug] QUERY OK source="tasks" db=4.3ms idle=19.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541567, 52, ~U[2026-10-26 18:52:49Z], ~U[2026-10-26 18:52:49Z]] 13:52:49.059 [info] {"args":{"id":52},"id":541550,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":484106,"event":"job:stop","queue_time":209851,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:52:50.853 [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/fb/0d/fb0df7304bf978a42e3131c1c71160f4cc5a3aee56a137d6568fbffb39b0ac98.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. 13:52:50.853 [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" 13:52:50.853 [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" 13:52:50.853 [info] {"args":{"id":1301335},"id":541554,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1853017,"event":"job:stop","queue_time":998555,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:50.860 [info] {"args":{"id":1301347},"id":541555,"meta":{},"system_time":1793040770860499671,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:50.860 [debug] QUERY OK source="media_items" db=0.1ms idle=401.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" = ?) [1301347] 13:52:50.860 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:52:50.861 [debug] QUERY OK source="sources" db=0.1ms idle=402.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:52:50.861 [debug] QUERY OK source="media_profiles" db=0.1ms idle=290.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] 13:52:50.861 [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 [1301347] 13:52:50.863 [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" = ?) [1301347] 13:52:50.863 [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] 13:52:50.864 [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 [] 13:52:50.864 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:50.864 [debug] Running yt-dlp command for action: get_downloadable_status 13:52:50.864 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:50.865 [debug] QUERY OK source="settings" db=0.0ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:50.865 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:50.865 [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/f0/4e/f04e68357ecb8f08a25196eb08461c286cdfe541c31aaf12f52ee2988a58c374.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:52:52.967 [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/a5/7e/a57ebe8311c24e37b599f83dbc6c5e2580235ab4e5ff4d4d9628fc147aac4af3.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. 13:52:52.967 [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" 13:52:52.968 [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" 13:52:52.968 [info] {"args":{"id":1301334},"id":541553,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":3967714,"event":"job:stop","queue_time":998555,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:52.975 [info] {"args":{"id":1301392},"id":541556,"meta":{},"system_time":1793040772975524427,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:52.975 [debug] QUERY OK source="media_items" db=0.2ms idle=517.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] 13:52:52.976 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:52:52.976 [debug] QUERY OK source="sources" db=0.1ms idle=517.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:52:52.976 [debug] QUERY OK source="media_profiles" db=0.1ms idle=402.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] 13:52:52.977 [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] 13:52:52.979 [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" = ?) [1301392] 13:52:52.979 [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] 13:52:52.980 [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 [] 13:52:52.980 [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 [] 13:52:52.980 [debug] Running yt-dlp command for action: get_downloadable_status 13:52:52.982 [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 [] 13:52:52.982 [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 [] 13:52:52.982 [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 [] 13:52:52.982 [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/71/bd/71bd061c95c43ea15a7610e182acc9aa3302b66c7fe815d9cf8c69a7318dd73e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:52:53.433 [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/f0/4e/f04e68357ecb8f08a25196eb08461c286cdfe541c31aaf12f52ee2988a58c374.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. 13:52:53.433 [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" 13:52:53.433 [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" 13:52:53.434 [info] {"args":{"id":1301347},"id":541555,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2573558,"event":"job:stop","queue_time":1859593,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:53.441 [info] {"args":{"id":1301393},"id":541557,"meta":{},"system_time":1793040773441081544,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:53.441 [debug] QUERY OK source="media_items" db=0.1ms idle=459.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] 13:52:53.441 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:52:53.441 [debug] QUERY OK source="sources" db=0.1ms idle=459.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:52:53.442 [debug] QUERY OK source="media_profiles" db=0.1ms idle=459.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:52:53.442 [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] 13:52:53.444 [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" = ?) [1301393] 13:52:53.444 [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] 13:52:53.444 [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 [] 13:52:53.444 [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 [] 13:52:53.444 [debug] Running yt-dlp command for action: get_downloadable_status 13:52:53.446 [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 [] 13:52:53.446 [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 [] 13:52:53.446 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:53.446 [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/ad/33/ad332b77dd37b2e051b4367acd2241395b4450673feb976ed828f04877de1d5e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:52:54.829 [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/71/bd/71bd061c95c43ea15a7610e182acc9aa3302b66c7fe815d9cf8c69a7318dd73e.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. 13:52:54.829 [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" 13:52:54.830 [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" 13:52:54.830 [info] {"args":{"id":1301392},"id":541556,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1854543,"event":"job:stop","queue_time":3974562,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:54.837 [info] {"args":{"id":1301394},"id":541558,"meta":{},"system_time":1793040774837307198,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:54.837 [debug] QUERY OK source="media_items" db=0.3ms idle=378.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] 13:52:54.838 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:52:54.838 [debug] QUERY OK source="sources" db=0.1ms idle=379.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:52:54.838 [debug] QUERY OK source="media_profiles" db=0.1ms idle=262.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:52:54.839 [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] 13:52:54.840 [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" = ?) [1301394] 13:52:54.841 [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] 13:52:54.841 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:54.841 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:54.842 [debug] Running yt-dlp command for action: get_downloadable_status 13:52:54.843 [debug] QUERY OK source="settings" db=0.0ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:54.843 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:54.843 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:54.843 [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/62/a2/62a2f00933c812642a0c13fbb138a35c029cea44d9967e911f5fcfbb456b52a0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:52:55.448 [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/ad/33/ad332b77dd37b2e051b4367acd2241395b4450673feb976ed828f04877de1d5e.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. 13:52:55.448 [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" 13:52:55.449 [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" 13:52:55.449 [info] {"args":{"id":1301393},"id":541557,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2008046,"event":"job:stop","queue_time":4440559,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:55.456 [info] {"args":{"id":1301395},"id":541559,"meta":{},"system_time":1793040775456116779,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:55.456 [debug] QUERY OK source="media_items" db=0.1ms idle=612.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] 13:52:55.456 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:52:55.456 [debug] QUERY OK source="sources" db=0.1ms idle=613.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:52:55.457 [debug] QUERY OK source="media_profiles" db=0.1ms idle=613.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:52:55.457 [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] 13:52:55.459 [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] 13:52:55.459 [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] 13:52:55.459 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:55.459 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:55.459 [debug] Running yt-dlp command for action: get_downloadable_status 13:52:55.460 [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 [] 13:52:55.460 [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 [] 13:52:55.460 [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 [] 13:52:55.461 [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/1c/73/1c73179063e1b29cad0272a951a593e2079950e2741612c501c168b6b2267c6b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:52:56.735 [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/62/a2/62a2f00933c812642a0c13fbb138a35c029cea44d9967e911f5fcfbb456b52a0.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. 13:52:56.735 [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" 13:52:56.735 [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" 13:52:56.735 [info] {"args":{"id":1301394},"id":541558,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1898048,"event":"job:stop","queue_time":5836568,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:56.742 [info] {"args":{"id":1301397},"id":541560,"meta":{},"system_time":1793040776742233012,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:56.742 [debug] QUERY OK source="media_items" db=0.1ms idle=1281.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] 13:52:56.742 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:52:56.743 [debug] QUERY OK source="sources" db=0.1ms idle=1165.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:52:56.743 [debug] QUERY OK source="media_profiles" db=0.1ms idle=164.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:52:56.743 [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] 13:52:56.745 [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" = ?) [1301397] 13:52:56.745 [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] 13:52:56.745 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:56.745 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:56.745 [debug] Running yt-dlp command for action: get_downloadable_status 13:52:56.747 [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 [] 13:52:56.747 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:56.747 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:56.747 [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/a2/10/a21086d0e9182d4616785d7b0d8f3174285a45f63c40750134d2eed0a7037960.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:52:57.371 [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/1c/73/1c73179063e1b29cad0272a951a593e2079950e2741612c501c168b6b2267c6b.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. 13:52:57.371 [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" 13:52:57.372 [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" 13:52:57.372 [info] {"args":{"id":1301395},"id":541559,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1915940,"event":"job:stop","queue_time":6455509,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:57.379 [info] {"args":{"id":1301398},"id":541561,"meta":{},"system_time":1793040777379243757,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:57.379 [debug] QUERY OK source="media_items" db=0.2ms idle=632.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] 13:52:57.379 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:52:57.380 [debug] QUERY OK source="sources" db=0.1ms idle=632.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:52:57.380 [debug] QUERY OK source="media_profiles" db=0.1ms idle=633.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] 13:52:57.381 [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 [1301398] 13:52:57.382 [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" = ?) [1301398] 13:52:57.382 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:52:57.382 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:57.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 [] 13:52:57.382 [debug] Running yt-dlp command for action: get_downloadable_status 13:52:57.384 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:57.384 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:57.384 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:57.384 [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/9d/41/9d41c56ac4c35982135339b7a61bb8fa013db1beaf01c3e9e12890043d7ee982.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:52:58.893 [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/a2/10/a21086d0e9182d4616785d7b0d8f3174285a45f63c40750134d2eed0a7037960.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. 13:52:58.893 [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" 13:52:58.893 [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" 13:52:58.894 [info] {"args":{"id":1301397},"id":541560,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2151463,"event":"job:stop","queue_time":7741560,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:58.900 [info] {"args":{"id":1301399},"id":541562,"meta":{},"system_time":1793040778900352826,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:58.900 [debug] QUERY OK source="media_items" db=0.2ms idle=441.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] 13:52:58.901 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:52:58.901 [debug] QUERY OK source="sources" db=0.1ms idle=442.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 13:52:58.901 [debug] QUERY OK source="media_profiles" db=0.1ms idle=319.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:52:58.901 [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] 13:52:58.903 [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" = ?) [1301399] 13:52:58.903 [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] 13:52:58.904 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:58.904 [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 [] 13:52:58.904 [debug] Running yt-dlp command for action: get_downloadable_status 13:52:58.905 [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 [] 13:52:58.905 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:58.905 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:58.905 [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/40/55/40552443c3d9c1b644467ad18d9a2d6b8c943f5868f79c7a06222e717bde070b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:52:59.095 [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/9d/41/9d41c56ac4c35982135339b7a61bb8fa013db1beaf01c3e9e12890043d7ee982.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. 13:52:59.095 [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" 13:52:59.095 [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" 13:52:59.096 [info] {"args":{"id":1301398},"id":541561,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1716514,"event":"job:stop","queue_time":8378514,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:59.102 [info] {"args":{"id":1301400},"id":541563,"meta":{},"system_time":1793040779102046873,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:52:59.102 [debug] QUERY OK source="media_items" db=0.1ms idle=196.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] 13:52:59.102 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:52:59.102 [debug] QUERY OK source="sources" db=0.1ms idle=196.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:52:59.103 [debug] QUERY OK source="media_profiles" db=0.1ms idle=196.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:52:59.103 [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 [1301400] 13:52:59.112 [debug] QUERY OK source="media_metadata" db=0.0ms idle=10.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [1301400] 13:52:59.112 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 13:52:59.112 [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 [] 13:52:59.112 [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 [] 13:52:59.112 [debug] Running yt-dlp command for action: get_downloadable_status 13:52:59.114 [debug] QUERY OK source="settings" db=0.0ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:59.114 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:52:59.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 [] 13:52:59.114 [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/24/16/24161ab144bb58577e9dd698489a979ba9dc956c1a666b703c23a5eb3ec6dae3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:53:00.049 [info] {"source":"oban","duration":7061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.267 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:53:00.835 [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/40/55/40552443c3d9c1b644467ad18d9a2d6b8c943f5868f79c7a06222e717bde070b.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. 13:53:00.835 [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" 13:53:00.836 [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" 13:53:00.836 [info] {"args":{"id":1301399},"id":541562,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1935854,"event":"job:stop","queue_time":9899566,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:53:00.843 [info] {"args":{"id":2720968},"id":541564,"meta":{},"system_time":1793040780843199441,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:53:00.843 [debug] QUERY OK source="media_items" db=0.1ms idle=384.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] 13:53:00.843 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:53:00.843 [debug] QUERY OK source="sources" db=0.1ms idle=385.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:53:00.844 [debug] QUERY OK source="media_profiles" db=0.1ms idle=259.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:53:00.844 [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 [2720968] 13:53:00.847 [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" = ?) [2720968] 13:53:00.847 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:53:00.847 [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 [] 13:53:00.847 [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 [] 13:53:00.847 [debug] Running yt-dlp command for action: get_downloadable_status 13:53:00.848 [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 [] 13:53:00.848 [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 [] 13:53:00.848 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:53:00.849 [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/a5/2e/a52e7ea72e15e044d1bd4441583a84436747bc3d873f05e676d9e67b6ceae08a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:53:01.014 [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/24/16/24161ab144bb58577e9dd698489a979ba9dc956c1a666b703c23a5eb3ec6dae3.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. 13:53:01.014 [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" 13:53:01.014 [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" 13:53:01.015 [info] {"args":{"id":1301400},"id":541563,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1912649,"event":"job:stop","queue_time":10101557,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:53:01.021 [info] {"args":{"id":3440530},"id":541565,"meta":{},"system_time":1793040781021069564,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:53:01.021 [debug] QUERY OK source="media_items" db=0.1ms idle=172.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" = ?) [3440530] 13:53:01.021 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:53:01.021 [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" = ?) [52] 13:53:01.022 [debug] QUERY OK source="media_profiles" db=0.1ms idle=173.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] 13:53:01.022 [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 [3440530] 13:53:01.023 [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" = ?) [3440530] 13:53:01.023 [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] 13:53:01.023 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:53:01.024 [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 [] 13:53:01.024 [debug] Running yt-dlp command for action: get_downloadable_status 13:53:01.026 [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 [] 13:53:01.026 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:53:01.026 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:53:01.026 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/ff/c7ff59d3f8485365bdda4a44e596236c5acb6553e4eeeae84555c50a0e10c964.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:53:01.591 [info] {"args":{"id":51},"id":541551,"meta":{},"system_time":1793040781591447450,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:53:01.591 [debug] QUERY OK source="sources" db=0.1ms idle=565.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 13:53:01.592 [debug] QUERY OK source="settings" db=0.1ms idle=565.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:53:01.592 [debug] QUERY OK source="media_profiles" db=0.1ms idle=565.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] 13:53:01.592 [debug] QUERY OK source="settings" db=0.1ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:53:01.592 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 13:53:01.786 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 13:53:01.787 [debug] QUERY OK source="media_items" db=0.3ms idle=195.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, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 13:53:01.788 [debug] QUERY OK source="media_items" db=0.4ms idle=195.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] 13:53:01.789 [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" [541568, 51, ~U[2026-10-26 18:53:01Z], ~U[2026-10-26 18:53:01Z]] 13:53:01.789 [info] {"args":{"id":51},"id":541551,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":197620,"event":"job:stop","queue_time":500505,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:53:02.582 [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/a5/2e/a52e7ea72e15e044d1bd4441583a84436747bc3d873f05e676d9e67b6ceae08a.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. 13:53:02.582 [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" 13:53:02.583 [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" 13:53:02.583 [info] {"args":{"id":2720968},"id":541564,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1739876,"event":"job:stop","queue_time":11842557,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:53:02.590 [info] {"args":{"id":3675707},"id":541566,"meta":{},"system_time":1793040782590452148,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:53:02.590 [debug] QUERY OK source="media_items" db=0.1ms idle=801.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" = ?) [3675707] 13:53:02.590 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:53:02.591 [debug] QUERY OK source="sources" db=0.1ms idle=796.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:53:02.591 [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] 13:53:02.591 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3675707] 13:53:02.592 [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" = ?) [3675707] 13:53:02.592 [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] 13:53:02.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 [] 13:53:02.593 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:53:02.593 [debug] Running yt-dlp command for action: get_downloadable_status 13:53:02.595 [debug] QUERY OK source="settings" db=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:53:02.595 [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 [] 13:53:02.595 [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 [] 13:53:02.596 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e3/8b/e38b684d5ee6dd0b1d03fac031fbeb049c27ca9c8314af7bce786962d6bae204.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:53:02.939 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/ff/c7ff59d3f8485365bdda4a44e596236c5acb6553e4eeeae84555c50a0e10c964.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 13:53:02.939 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:53:02.939 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:53:02.939 [info] {"args":{"id":3440530},"id":541565,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1918406,"event":"job:stop","queue_time":12020508,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:53:04.374 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e3/8b/e38b684d5ee6dd0b1d03fac031fbeb049c27ca9c8314af7bce786962d6bae204.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 13:53:04.374 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:53:04.374 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 13:53:04.375 [info] {"args":{"id":3675707},"id":541566,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1784341,"event":"job:stop","queue_time":13589557,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:53:30.059 [info] {"source":"oban","duration":9146,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.069 [info] {"source":"oban","duration":8660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.268 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:54:30.076 [info] {"source":"oban","duration":6853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:55:00.084 [info] {"source":"oban","duration":7085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.269 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:55:23.762 [info] {"args":{"id":3342641},"id":541305,"meta":{},"system_time":1793040923762630041,"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"]} 13:55:23.763 [debug] QUERY OK source="media_items" db=0.7ms idle=304.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" = ?) [3342641] 13:55:23.763 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:55:23.764 [debug] QUERY OK source="sources" db=0.6ms idle=305.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 13:55:23.765 [debug] QUERY OK source="media_profiles" db=0.2ms idle=306.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] 13:55:23.765 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3342641] 13:55:23.766 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [3342641] 13:55:23.766 [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] 13:55:23.767 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:55:23.767 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:55:23.767 [debug] Running yt-dlp command for action: get_downloadable_status 13:55:23.769 [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 [] 13:55:23.769 [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 [] 13:55:23.769 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:55:23.769 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=v3g6wi0TzcE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/52/4c524184db986391fde9669e77a8245e0c7dc3080e5867fb520c5cf8ad2f7e00.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:55:25.870 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=v3g6wi0TzcE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/52/4c524184db986391fde9669e77a8245e0c7dc3080e5867fb520c5cf8ad2f7e00.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] v3g6wi0TzcE: Join this channel to get access to members-only content like this video, and other exclusive perks. 13:55:25.870 [error] yt-dlp download error for media item #3342641: "ERROR: [youtube] v3g6wi0TzcE: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 13:55:25.871 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3342641},"id":541305,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2108197,"event":"job:exception","queue_time":254723,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:55:30.094 [info] {"source":"oban","duration":9372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.105 [info] {"source":"oban","duration":9924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.270 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:56:30.115 [info] {"source":"oban","duration":9276,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.122 [info] {"source":"oban","duration":6078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 13:57:00.271 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:57:30.132 [info] {"source":"oban","duration":9249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.143 [info] {"source":"oban","duration":9912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.272 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:58:30.148 [info] {"source":"oban","duration":4350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.155 [info] {"source":"oban","duration":6000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.273 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:59:30.162 [info] {"source":"oban","duration":5808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.166 [info] {"source":"oban","duration":4208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.274 [info] {"source":"oban","duration":143,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:00:30.173 [info] {"source":"oban","duration":5650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.179 [info] {"source":"oban","duration":5842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.275 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:01:18.210 [info] {"args":{"id":3941274},"id":540388,"meta":{},"system_time":1793041278209948076,"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"]} 14:01:18.210 [debug] QUERY OK source="media_items" db=0.7ms idle=751.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" = ?) [3941274] 14:01:18.211 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:01:18.211 [debug] QUERY OK source="sources" db=0.7ms idle=752.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:01:18.212 [debug] QUERY OK source="media_profiles" db=0.2ms idle=753.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:01:18.212 [debug] QUERY OK source="media_items" db=0.3ms 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 [3941274] 14:01:18.214 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.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" = ?) [3941274] 14:01:18.214 [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] 14:01:18.214 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:01:18.215 [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 [] 14:01:18.215 [debug] Running yt-dlp command for action: get_downloadable_status 14:01:18.216 [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 [] 14:01:18.216 [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 [] 14:01:18.216 [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 [] 14:01:18.217 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Y1IO2B_sRCo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/23/cb/23cbcfce0d9d0a9f05ad62e1121fabf3cba1bac0cffba8e4dfdf346657927844.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:01:20.105 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Y1IO2B_sRCo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/23/cb/23cbcfce0d9d0a9f05ad62e1121fabf3cba1bac0cffba8e4dfdf346657927844.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Y1IO2B_sRCo: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:01:20.105 [error] yt-dlp download error for media item #3941274: "ERROR: [youtube] Y1IO2B_sRCo: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:01:20.106 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3941274},"id":540388,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1895869,"event":"job:exception","queue_time":828593,"attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:01:30.189 [info] {"source":"oban","duration":9314,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.200 [info] {"source":"oban","duration":9943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.276 [info] {"source":"oban","duration":122,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:02:30.210 [info] {"source":"oban","duration":9261,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:49.314 [info] {"args":{"id":52},"id":541567,"meta":{},"system_time":1793041369314377346,"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"]} 14:02:49.315 [debug] QUERY OK source="sources" db=0.7ms idle=1855.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:02:49.315 [debug] QUERY OK source="settings" db=0.1ms idle=1856.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:49.316 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1009.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:02:49.317 [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 [] 14:02:49.317 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 14:02:49.716 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 14:02:49.717 [debug] QUERY OK source="media_items" db=0.5ms idle=402.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, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 14:02:49.719 [debug] QUERY OK source="media_items" db=0.9ms idle=402.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] 14:02:49.723 [debug] QUERY OK source="tasks" db=0.2ms idle=405.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541569, 1301334, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.728 [debug] QUERY OK source="tasks" db=0.3ms idle=5.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541570, 1301335, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.729 [info] {"args":{"id":1301334},"id":541569,"meta":{},"system_time":1793041369729721054,"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"]} 14:02:49.729 [info] {"args":{"id":1301335},"id":541570,"meta":{},"system_time":1793041369729775559,"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"]} 14:02:49.730 [debug] QUERY OK source="media_items" db=0.4ms 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] 14:02:49.730 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:49.730 [debug] QUERY OK source="media_items" db=1.0ms idle=3.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 14:02:49.731 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:49.731 [debug] QUERY OK source="sources" db=0.6ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:02:49.731 [debug] QUERY OK source="sources" db=0.3ms idle=1.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:02:49.731 [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] 14:02:49.732 [debug] QUERY OK source="media_profiles" db=0.4ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:02:49.732 [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 [1301335] 14:02:49.732 [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] 14:02:49.734 [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" [541571, 1301347, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.734 [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] 14:02:49.735 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 14:02:49.735 [debug] QUERY OK source="media_metadata" db=0.2ms 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" = ?) [1301334] 14:02:49.735 [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 [] 14:02:49.735 [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] 14:02:49.735 [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 [] 14:02:49.736 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:49.736 [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 [] 14:02:49.736 [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 [] 14:02:49.737 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:49.737 [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 [] 14:02:49.737 [debug] QUERY OK source="settings" db=0.2ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:49.738 [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 [] 14:02:49.738 [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/ba/f5/baf5011d926b647edc7d368219351c846f45d4da9470d03e9c4d3c9c3ed914af.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:49.738 [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 [] 14:02:49.738 [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 [] 14:02:49.738 [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 [] 14:02:49.738 [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/14/ea/14ea5bd1299de9602a6bf0a4b7aed20aed5ace32d3dbc835e04fcc39ec238815.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:49.739 [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" [541572, 1301392, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.742 [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" [541573, 1301393, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.745 [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" [541574, 1301394, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.747 [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" [541575, 1301395, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.751 [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" [541576, 1301397, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.754 [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" [541577, 1301398, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.756 [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" [541578, 1301399, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.759 [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" [541579, 1301400, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.762 [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" [541580, 2720968, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.764 [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" [541581, 3440530, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.767 [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" [541582, 3675707, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.768 [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" [541583, 52, ~U[2026-10-26 19:02:49Z], ~U[2026-10-26 19:02:49Z]] 14:02:49.768 [info] {"args":{"id":52},"id":541567,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":454244,"event":"job:stop","queue_time":277477,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:02:51.668 [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/ba/f5/baf5011d926b647edc7d368219351c846f45d4da9470d03e9c4d3c9c3ed914af.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. 14:02:51.669 [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" 14:02:51.669 [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" 14:02:51.669 [info] {"args":{"id":1301335},"id":541570,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1939451,"event":"job:stop","queue_time":728508,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:02:51.676 [info] {"args":{"id":1301347},"id":541571,"meta":{},"system_time":1793041371676319961,"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"]} 14:02:51.676 [debug] QUERY OK source="media_items" db=0.2ms idle=217.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301347] 14:02:51.677 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:51.677 [debug] QUERY OK source="sources" db=0.1ms idle=218.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:02:51.677 [debug] QUERY OK source="media_profiles" db=0.1ms idle=218.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] 14:02:51.677 [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] 14:02:51.680 [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" = ?) [1301347] 14:02:51.680 [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] 14:02:51.680 [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 [] 14:02:51.680 [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 [] 14:02:51.681 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:51.681 [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 [] 14:02:51.681 [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 [] 14:02:51.681 [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 [] 14:02:51.682 [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/05/e6/05e646b73a1b9c905ba831d896a9fd31d007237473f98d25d9eed2c598a02ff3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:51.951 [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/14/ea/14ea5bd1299de9602a6bf0a4b7aed20aed5ace32d3dbc835e04fcc39ec238815.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. 14:02:51.951 [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" 14:02:51.951 [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" 14:02:51.951 [info] {"args":{"id":1301334},"id":541569,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2221714,"event":"job:stop","queue_time":728508,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:02:51.958 [info] {"args":{"id":1301392},"id":541572,"meta":{},"system_time":1793041371958218971,"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"]} 14:02:51.958 [debug] QUERY OK source="media_items" db=0.1ms idle=276.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] 14:02:51.958 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:51.958 [debug] QUERY OK source="sources" db=0.1ms idle=276.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:02:51.959 [debug] QUERY OK source="media_profiles" db=0.1ms idle=277.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] 14:02:51.959 [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 [1301392] 14:02:51.962 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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] 14:02:51.962 [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] 14:02:51.963 [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 [] 14:02:51.963 [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 [] 14:02:51.963 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:51.964 [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 [] 14:02:51.964 [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 [] 14:02:51.964 [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 [] 14:02:51.964 [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/4f/dd/4fddd77264f0512d69c372520ed96742549b0bfed0a35f6713e27cfa39d72beb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:52.318 [info] {"args":{"id":30},"id":541533,"meta":{},"system_time":1793041372318216272,"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"]} 14:02:52.318 [debug] QUERY OK source="sources" db=0.1ms idle=354.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:02:52.318 [debug] QUERY OK source="settings" db=0.1ms idle=354.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:52.323 [debug] QUERY OK source="media_items" db=4.8ms idle=354.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] 14:02:52.324 [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] 14:02:52.324 [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] 14:02:52.325 [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 [] 14:02:52.325 [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 [] 14:02:52.330 [debug] QUERY OK source="media_items" db=4.0ms 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 [30] 14:02:52.332 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:02:52.332 [debug] Current batch of media processed. Will check again in 1000ms 14:02:52.332 [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 [] 14:02:52.332 [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 [] 14:02:52.333 [debug] QUERY OK source="settings" db=0.0ms 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 [] 14:02:52.333 [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/a9/04/a9041ec27523c210f444572486e42e0ae73f2227e190c3bbcb09329cdea57ff3.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/42/b0/42b0be36d8dc6b4c45161dc4d16723d5b2de91e1d90bca7fc5eabff9d785ebf5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:53.333 [debug] Current batch of media processed. Will check again in 1000ms 14:02:53.503 [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/05/e6/05e646b73a1b9c905ba831d896a9fd31d007237473f98d25d9eed2c598a02ff3.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. 14:02:53.503 [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" 14:02:53.503 [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" 14:02:53.504 [info] {"args":{"id":1301347},"id":541571,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1827701,"event":"job:stop","queue_time":2675519,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:02:53.510 [info] {"args":{"id":1301393},"id":541573,"meta":{},"system_time":1793041373510366271,"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"]} 14:02:53.511 [debug] QUERY OK source="media_items" db=0.7ms 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 WHERE (m0."id" = ?) [1301393] 14:02:53.511 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:53.511 [debug] QUERY OK source="sources" db=0.2ms idle=52.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:02:53.512 [debug] QUERY OK source="media_profiles" db=0.1ms idle=53.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:02:53.512 [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] 14:02:53.517 [debug] QUERY OK source="media_metadata" db=0.0ms idle=6.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" = ?) [1301393] 14:02:53.517 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 14:02:53.517 [debug] QUERY OK source="settings" db=0.0ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:53.517 [debug] QUERY OK source="settings" db=0.0ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:53.518 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:53.519 [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 [] 14:02:53.519 [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 [] 14:02:53.519 [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 [] 14:02:53.520 [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/b8/a2b81e93c5a38bc3c093b149b137c4beffdfaa1a95a975fc0cc90f21e69b9126.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:53.867 [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/4f/dd/4fddd77264f0512d69c372520ed96742549b0bfed0a35f6713e27cfa39d72beb.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. 14:02:53.867 [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" 14:02:53.868 [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" 14:02:53.868 [info] {"args":{"id":1301392},"id":541572,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1909897,"event":"job:stop","queue_time":2957563,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:02:53.875 [info] {"args":{"id":1301394},"id":541574,"meta":{},"system_time":1793041373875218178,"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"]} 14:02:53.875 [debug] QUERY OK source="media_items" db=0.1ms idle=355.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301394] 14:02:53.875 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:53.876 [debug] QUERY OK source="sources" db=0.1ms idle=356.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:02:53.876 [debug] QUERY OK source="media_profiles" db=0.1ms idle=356.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:02:53.876 [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] 14:02:53.878 [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" = ?) [1301394] 14:02:53.878 [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] 14:02:53.879 [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 [] 14:02:53.879 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:53.879 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:53.881 [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 [] 14:02:53.881 [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 [] 14:02:53.881 [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 [] 14:02:53.881 [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/06/1c/061c5bad46478da0ac88ea355641e76dce87908ab98c0b08cffa2040326a3d54.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:54.334 [debug] Current batch of media processed. Will check again in 1000ms 14:02:55.335 [debug] Current batch of media processed. Will check again in 1000ms 14:02:55.483 [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/b8/a2b81e93c5a38bc3c093b149b137c4beffdfaa1a95a975fc0cc90f21e69b9126.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. 14:02:55.483 [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" 14:02:55.484 [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" 14:02:55.484 [info] {"args":{"id":1301393},"id":541573,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1973681,"event":"job:stop","queue_time":4509523,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:02:55.491 [info] {"args":{"id":1301395},"id":541575,"meta":{},"system_time":1793041375491427877,"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"]} 14:02:55.491 [debug] QUERY OK source="media_items" db=0.1ms idle=33.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" = ?) [1301395] 14:02:55.492 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:55.492 [debug] QUERY OK source="sources" db=0.1ms idle=33.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:02:55.492 [debug] QUERY OK source="media_profiles" db=0.1ms idle=33.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] 14:02:55.493 [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 [1301395] 14:02:55.494 [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" = ?) [1301395] 14:02:55.495 [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] 14:02:55.495 [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 [] 14:02:55.495 [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 [] 14:02:55.495 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:55.497 [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 [] 14:02:55.497 [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 [] 14:02:55.497 [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 [] 14:02:55.497 [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/fa/64/fa64df9e6f350eaf835a73c226fd05c41ad0be44e26a77c0a091fda3ff20b049.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:56.336 [debug] Current batch of media processed. Will check again in 1000ms 14:02:56.518 [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/06/1c/061c5bad46478da0ac88ea355641e76dce87908ab98c0b08cffa2040326a3d54.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. 14:02:56.518 [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" 14:02:56.518 [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" 14:02:56.518 [info] {"args":{"id":1301394},"id":541574,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2643186,"event":"job:stop","queue_time":4874564,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:02:56.525 [info] {"args":{"id":1301397},"id":541576,"meta":{},"system_time":1793041376525184182,"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"]} 14:02:56.525 [debug] QUERY OK source="media_items" db=0.1ms idle=1028.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] 14:02:56.525 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:56.525 [debug] QUERY OK source="sources" db=0.1ms idle=1028.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:02:56.526 [debug] QUERY OK source="media_profiles" db=0.1ms idle=207.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:02:56.526 [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 [1301397] 14:02:56.528 [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" = ?) [1301397] 14:02:56.528 [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] 14:02:56.528 [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 [] 14:02:56.529 [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 [] 14:02:56.529 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:56.530 [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 [] 14:02:56.530 [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 [] 14:02:56.530 [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 [] 14:02:56.531 [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/ac/23/ac23783251f36c593ee3b1f16c3827c64b88eeb0603d4eda3dd5de4a2651ca52.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:57.337 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 878, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", "id" => "g6PtJ0ZOCp8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "playlist_index" => 1, "timestamp" => 1793032225, "title" => "The Future Of Linux Gaming Is Bright", "upload_date" => "20261026"} 14:02:57.338 [debug] QUERY OK source="sources" db=0.3ms idle=808.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:02:57.338 [debug] QUERY OK source="sources" db=0.2ms 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] 14:02:57.344 [debug] QUERY OK source="media_items" db=5.9ms idle=808.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 16:30:25Z], 30] 14:02:57.347 [debug] QUERY OK source="media_items" db=2.3ms idle=814.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 gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "ee493277-f5be-401a-9496-8fd4c1fdbab7", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, false, false, 30, [], 98, ~U[2026-10-26 16:30:25Z], ~U[2026-10-26 19:02:57Z], ~U[2026-10-26 19:02:57Z], "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, 30, ~U[2026-10-26 16:30:25Z]] 14:02:57.348 [debug] QUERY OK source="sources" db=0.1ms idle=28.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:02:57.348 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 14:02:57.348 [debug] QUERY OK source="media_items" db=0.1ms idle=9.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4246141] 14:02:57.348 [debug] Current batch of media processed. Will check again in 1000ms 14:02:57.495 [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/fa/64/fa64df9e6f350eaf835a73c226fd05c41ad0be44e26a77c0a091fda3ff20b049.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. 14:02:57.495 [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" 14:02:57.495 [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" 14:02:57.496 [info] {"args":{"id":1301395},"id":541575,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2003900,"event":"job:stop","queue_time":6490620,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:02:57.503 [info] {"args":{"id":1301398},"id":541577,"meta":{},"system_time":1793041377503221484,"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"]} 14:02:57.503 [debug] QUERY OK source="media_items" db=0.1ms idle=155.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] 14:02:57.503 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:57.504 [debug] QUERY OK source="sources" db=0.1ms idle=155.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:02:57.504 [debug] QUERY OK source="media_profiles" db=0.1ms idle=155.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] 14:02:57.504 [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] 14:02:57.505 [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" = ?) [1301398] 14:02:57.505 [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] 14:02:57.506 [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 [] 14:02:57.506 [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 [] 14:02:57.506 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:57.507 [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 [] 14:02:57.507 [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 [] 14:02:57.507 [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 [] 14:02:57.507 [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/70/c1/70c135d7e305dc18dd446e16f81a030e92338f275b647ade9f6ed1b7c703e994.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:58.349 [debug] Current batch of media processed. Will check again in 1000ms 14:02:58.560 [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/ac/23/ac23783251f36c593ee3b1f16c3827c64b88eeb0603d4eda3dd5de4a2651ca52.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. 14:02:58.560 [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" 14:02:58.560 [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" 14:02:58.560 [info] {"args":{"id":1301397},"id":541576,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2035135,"event":"job:stop","queue_time":7524560,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:02:58.567 [info] {"args":{"id":1301399},"id":541578,"meta":{},"system_time":1793041378567201667,"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"]} 14:02:58.567 [debug] QUERY OK source="media_items" db=0.1ms idle=1060.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301399] 14:02:58.567 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:58.568 [debug] QUERY OK source="sources" db=0.1ms idle=1060.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:02:58.568 [debug] QUERY OK source="media_profiles" db=0.1ms idle=246.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] 14:02:58.568 [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 [1301399] 14:02:58.570 [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] 14:02:58.570 [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] 14:02:58.570 [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 [] 14:02:58.571 [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 [] 14:02:58.571 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:58.573 [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 [] 14:02:58.573 [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 [] 14:02:58.573 [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 [] 14:02:58.573 [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/c6/6a/c66a72af9fda249044cc8bcf5bdd010eb0a581afc813a3e839b97cc6eefac3ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:02:59.350 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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" => 857, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", "id" => "B28eZ7BHRYE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=B28eZ7BHRYE", "playlist_index" => 2, "timestamp" => 1792945823, "title" => "Arch Linux's AUR Keeps Getting Hit With Malware", "upload_date" => "20261025"} 14:02:59.351 [debug] QUERY OK source="sources" db=0.1ms idle=779.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:02:59.351 [debug] QUERY OK source="sources" db=0.1ms idle=777.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:02:59.356 [debug] QUERY OK source="media_items" db=4.7ms idle=778.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-25 16:30:23Z], 30] 14:02:59.357 [debug] QUERY OK source="media_items" db=1.0ms idle=782.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" ["Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "1eb7d0a7-6a18-4a3d-ad90-e6f2865b8492", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, false, false, 30, [], 98, ~U[2026-10-25 16:30:23Z], ~U[2026-10-26 19:02:59Z], ~U[2026-10-26 19:02:59Z], "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, 30, ~U[2026-10-25 16:30:23Z]] 14:02:59.358 [debug] QUERY OK source="sources" db=0.1ms idle=35.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:02:59.358 [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] 14:02:59.358 [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 [4238259] 14:02:59.358 [debug] Current batch of media processed. Will check again in 1000ms 14:02:59.626 [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/70/c1/70c135d7e305dc18dd446e16f81a030e92338f275b647ade9f6ed1b7c703e994.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. 14:02:59.626 [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" 14:02:59.626 [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" 14:02:59.627 [info] {"args":{"id":1301398},"id":541577,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2123511,"event":"job:stop","queue_time":8502514,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:02:59.634 [info] {"args":{"id":1301400},"id":541579,"meta":{},"system_time":1793041379634234649,"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"]} 14:02:59.634 [debug] QUERY OK source="media_items" db=0.1ms idle=276.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" = ?) [1301400] 14:02:59.634 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:02:59.634 [debug] QUERY OK source="sources" db=0.1ms idle=276.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:02:59.635 [debug] QUERY OK source="media_profiles" db=0.1ms idle=276.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] 14:02:59.635 [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] 14:02:59.637 [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] 14:02:59.638 [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] 14:02:59.638 [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 [] 14:02:59.638 [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 [] 14:02:59.638 [debug] Running yt-dlp command for action: get_downloadable_status 14:02:59.642 [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 [] 14:02:59.642 [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 [] 14:02:59.642 [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 [] 14:02:59.642 [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/ce/8c/ce8cd43bed5459c557235d7cc415ac1ecf5251a2a88bc2452c554ddc67df9e19.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:03:00.222 [info] {"source":"oban","duration":10728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.277 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:03:00.345 [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/c6/6a/c66a72af9fda249044cc8bcf5bdd010eb0a581afc813a3e839b97cc6eefac3ae.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. 14:03:00.345 [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" 14:03:00.345 [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" 14:03:00.346 [info] {"args":{"id":1301399},"id":541578,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1778812,"event":"job:stop","queue_time":9566513,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:03:00.353 [info] {"args":{"id":2720968},"id":541580,"meta":{},"system_time":1793041380353204340,"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"]} 14:03:00.354 [debug] QUERY OK source="media_items" db=0.6ms idle=131.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] 14:03:00.354 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:03:00.354 [debug] QUERY OK source="sources" db=0.1ms idle=76.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:00.354 [debug] QUERY OK source="media_profiles" db=0.1ms idle=31.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:00.355 [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 [2720968] 14:03:00.356 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [2720968] 14:03:00.357 [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] 14:03:00.357 [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 [] 14:03:00.357 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:03:00.357 [debug] Running yt-dlp command for action: get_downloadable_status 14:03:00.358 [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 [] 14:03:00.359 [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 [] 14:03:00.359 [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 [] 14:03:00.359 [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/7f/c5/7fc5984860a40ca2978512224600690351ce68b81469321398fdd82fba4027f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:03:00.359 [debug] Current batch of media processed. Will check again in 1000ms 14:03:01.360 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1655, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", "id" => "ObKIuIzFzYs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ObKIuIzFzYs", "playlist_index" => 3, "timestamp" => 1792859431, "title" => "2026 Linux Maintainers Summit Was All About AI", "upload_date" => "20261024"} 14:03:01.361 [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 (?)) [30] 14:03:01.361 [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] 14:03:01.369 [debug] QUERY OK source="media_items" db=7.4ms 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-10-24 16:30:31Z], 30] 14:03:01.371 [debug] QUERY OK source="media_items" db=1.2ms idle=1010.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" ["As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "8f55d39c-7eaa-4e2c-b8b6-30da38e3f31d", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-24 16:30:31Z], ~U[2026-10-26 19:03:01Z], ~U[2026-10-26 19:03:01Z], "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, 30, ~U[2026-10-24 16:30:31Z]] 14:03:01.371 [debug] QUERY OK source="sources" db=0.1ms idle=46.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:01.371 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:01.372 [debug] QUERY OK source="media_items" db=0.1ms idle=10.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 [4230255] 14:03:01.372 [debug] Current batch of media processed. Will check again in 1000ms 14:03:01.528 [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/ce/8c/ce8cd43bed5459c557235d7cc415ac1ecf5251a2a88bc2452c554ddc67df9e19.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. 14:03:01.528 [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" 14:03:01.528 [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" 14:03:01.529 [info] {"args":{"id":1301400},"id":541579,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1894118,"event":"job:stop","queue_time":10633515,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:03:01.536 [info] {"args":{"id":3440530},"id":541581,"meta":{},"system_time":1793041381536445394,"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"]} 14:03:01.536 [debug] QUERY OK source="media_items" db=0.1ms idle=164.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" = ?) [3440530] 14:03:01.536 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:03:01.537 [debug] QUERY OK source="sources" db=0.0ms idle=164.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:01.537 [debug] QUERY OK source="media_profiles" db=0.1ms idle=164.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] 14:03:01.537 [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 [3440530] 14:03:01.538 [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" = ?) [3440530] 14:03:01.538 [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] 14:03:01.539 [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 [] 14:03:01.539 [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 [] 14:03:01.539 [debug] Running yt-dlp command for action: get_downloadable_status 14:03:01.540 [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 [] 14:03:01.540 [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 [] 14:03:01.540 [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 [] 14:03:01.540 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2c/59/2c59e4c808fbe3fefcedf328d2db16d033205d1f117d90d5fa0416ee6690715e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:03:02.321 [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/7f/c5/7fc5984860a40ca2978512224600690351ce68b81469321398fdd82fba4027f6.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. 14:03:02.321 [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" 14:03:02.321 [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" 14:03:02.321 [info] {"args":{"id":2720968},"id":541580,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1968391,"event":"job:stop","queue_time":11352511,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:03:02.328 [info] {"args":{"id":3675707},"id":541582,"meta":{},"system_time":1793041382328089539,"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"]} 14:03:02.328 [debug] QUERY OK source="media_items" db=0.1ms idle=788.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" = ?) [3675707] 14:03:02.328 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:03:02.329 [debug] QUERY OK source="sources" db=0.1ms idle=788.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:02.329 [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] 14:03:02.329 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3675707] 14:03:02.332 [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" = ?) [3675707] 14:03:02.332 [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] 14:03:02.332 [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 [] 14:03:02.332 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:03:02.333 [debug] Running yt-dlp command for action: get_downloadable_status 14:03:02.333 [info] {"args":{"id":51},"id":541568,"meta":{},"system_time":1793041382333248741,"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"]} 14:03:02.333 [debug] QUERY OK source="sources" db=0.1ms idle=1.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 14:03:02.334 [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 [] 14:03:02.334 [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 [] 14:03:02.334 [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 [] 14:03:02.334 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:02.334 [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 [] 14:03:02.334 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/9a/f39a71c1a2eda8f05becfa9328410b86b96cb4d43ac2e6491eff0d1bc2788c10.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:03:02.334 [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 [] 14:03:02.334 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 14:03:02.372 [debug] Current batch of media processed. Will check again in 1000ms 14:03:02.591 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 14:03:02.592 [debug] QUERY OK source="media_items" db=0.4ms idle=257.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, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 14:03:02.593 [debug] QUERY OK source="media_items" db=0.4ms idle=258.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] 14:03:02.594 [debug] QUERY OK source="tasks" db=0.1ms idle=259.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541584, 51, ~U[2026-10-26 19:03:02Z], ~U[2026-10-26 19:03:02Z]] 14:03:02.594 [info] {"args":{"id":51},"id":541568,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":261198,"event":"job:stop","queue_time":544399,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:03:03.142 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2c/59/2c59e4c808fbe3fefcedf328d2db16d033205d1f117d90d5fa0416ee6690715e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 14:03:03.142 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:03:03.142 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:03:03.143 [info] {"args":{"id":3440530},"id":541581,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1606496,"event":"job:stop","queue_time":12535566,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:03:03.373 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 661, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", "id" => "tOhtcCHEcks", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tOhtcCHEcks", "playlist_index" => 4, "timestamp" => 1792686606, "title" => "Steam Finally Went 64 Bit On Linux", "upload_date" => "20261022"} 14:03:03.374 [debug] QUERY OK source="sources" db=0.2ms idle=779.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:03.375 [debug] QUERY OK source="sources" db=0.2ms idle=773.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:03.381 [debug] QUERY OK source="media_items" db=5.9ms idle=231.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 16:30:06Z], 30] 14:03:03.383 [debug] QUERY OK source="media_items" db=1.3ms idle=232.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" ["After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "f62b49e0-9b2c-4803-8bf9-c36db442838d", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, false, false, 30, [], 98, ~U[2026-10-22 16:30:06Z], ~U[2026-10-26 19:03:03Z], ~U[2026-10-26 19:03:03Z], "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, 30, ~U[2026-10-22 16:30:06Z]] 14:03:03.383 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [30] 14:03:03.383 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:03.384 [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 [4214594] 14:03:03.384 [debug] Current batch of media processed. Will check again in 1000ms 14:03:04.119 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/9a/f39a71c1a2eda8f05becfa9328410b86b96cb4d43ac2e6491eff0d1bc2788c10.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 14:03:04.120 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:03:04.120 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:03:04.121 [info] {"args":{"id":3675707},"id":541582,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1792080,"event":"job:stop","queue_time":13327553,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:03:04.384 [debug] Current batch of media processed. Will check again in 1000ms 14:03:05.385 [debug] Current batch of media processed. Will check again in 1000ms 14:03:06.387 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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" => 1233, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", "id" => "lBCWjJslSc8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lBCWjJslSc8", "playlist_index" => 5, "timestamp" => 1792600228, "title" => "Linux Kernel Just Abandoned AI Disclosure", "upload_date" => "20261021"} 14:03:06.387 [debug] QUERY OK source="sources" db=0.3ms idle=1928.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:06.388 [debug] QUERY OK source="sources" db=0.1ms idle=1057.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:06.394 [debug] QUERY OK source="media_items" db=6.2ms idle=929.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 16:30:28Z], 30] 14:03:06.398 [debug] QUERY OK source="media_items" db=3.1ms idle=936.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" ["For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "4de874c7-5c21-483e-97cc-b0de7fde27d9", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, false, false, 30, [], 98, ~U[2026-10-21 16:30:28Z], ~U[2026-10-26 19:03:06Z], ~U[2026-10-26 19:03:06Z], "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, 30, ~U[2026-10-21 16:30:28Z]] 14:03:06.398 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:06.399 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:06.399 [debug] QUERY OK source="media_items" db=0.2ms idle=11.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4206623] 14:03:06.399 [debug] Current batch of media processed. Will check again in 1000ms 14:03:07.400 [debug] Current batch of media processed. Will check again in 1000ms 14:03:08.401 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1095, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", "id" => "3Xi7m0CYk5s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "playlist_index" => 6, "timestamp" => 1792513813, "title" => "Fortnite On Linux Changes Everything For Linux Gaming", "upload_date" => "20261020"} 14:03:08.402 [debug] QUERY OK source="sources" db=0.2ms idle=943.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:08.402 [debug] QUERY OK source="sources" db=0.2ms idle=944.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:08.409 [debug] QUERY OK source="media_items" db=6.5ms idle=944.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-20 16:30:13Z], 30] 14:03:08.414 [debug] QUERY OK source="media_items" db=3.8ms idle=951.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" ["Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "c03c3b8e-9ca3-44a7-856d-01bcaa644c3b", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, false, false, 30, [], 98, ~U[2026-10-20 16:30:13Z], ~U[2026-10-26 19:03:08Z], ~U[2026-10-26 19:03:08Z], "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, 30, ~U[2026-10-20 16:30:13Z]] 14:03:08.414 [debug] QUERY OK source="sources" db=0.2ms idle=79.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:08.415 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:08.415 [debug] QUERY OK source="media_items" db=0.2ms idle=12.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4198751] 14:03:08.415 [debug] Current batch of media processed. Will check again in 1000ms 14:03:09.416 [debug] Current batch of media processed. Will check again in 1000ms 14:03:10.417 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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" => 1215, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", "id" => "tnwm-zjkHcE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tnwm-zjkHcE", "playlist_index" => 7, "timestamp" => 1792427421, "title" => "Those Who Built Open Source", "upload_date" => "20261019"} 14:03:10.418 [debug] QUERY OK source="sources" db=0.2ms idle=959.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:10.418 [debug] QUERY OK source="sources" db=0.1ms idle=960.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:10.425 [debug] QUERY OK source="media_items" db=6.1ms idle=960.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 16:30:21Z], 30] 14:03:10.427 [debug] QUERY OK source="media_items" db=1.4ms idle=966.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" ["So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "fe1280df-2ba1-4cf1-a44f-47f9697f4349", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, false, false, 30, [], 98, ~U[2026-10-19 16:30:21Z], ~U[2026-10-26 19:03:10Z], ~U[2026-10-26 19:03:10Z], "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, 30, ~U[2026-10-19 16:30:21Z]] 14:03:10.427 [debug] QUERY OK source="sources" db=0.2ms idle=88.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:10.427 [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] 14:03:10.428 [debug] QUERY OK source="media_items" db=0.3ms 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 [4190952] 14:03:10.428 [debug] Current batch of media processed. Will check again in 1000ms 14:03:11.429 [debug] Current batch of media processed. Will check again in 1000ms 14:03:12.430 [debug] Current batch of media processed. Will check again in 1000ms 14:03:13.431 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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" => 902, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", "id" => "k7aFcpRduxU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=k7aFcpRduxU", "playlist_index" => 8, "timestamp" => 1792341036, "title" => "Gentoo Needs Your Help", "upload_date" => "20261018"} 14:03:13.432 [debug] QUERY OK source="sources" db=0.2ms idle=1973.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:13.432 [debug] QUERY OK source="sources" db=0.1ms idle=1973.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:13.438 [debug] QUERY OK source="media_items" db=6.0ms idle=1974.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-18 16:30:36Z], 30] 14:03:13.440 [debug] QUERY OK source="media_items" db=1.4ms idle=1097.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" ["Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "2cfa132a-0525-46a6-9d3c-e7671f3212b0", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-10-18 16:30:36Z], ~U[2026-10-26 19:03:13Z], ~U[2026-10-26 19:03:13Z], "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, 30, ~U[2026-10-18 16:30:36Z]] 14:03:13.441 [debug] QUERY OK source="sources" db=0.2ms idle=97.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:13.441 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:13.442 [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 [4182968] 14:03:13.442 [debug] Current batch of media processed. Will check again in 1000ms 14:03:14.442 [debug] Current batch of media processed. Will check again in 1000ms 14:03:15.443 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1047, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", "id" => "cxbtnPAL8Z8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "playlist_index" => 9, "timestamp" => 1792254608, "title" => "Gitea Is Not Suitable For Gitea", "upload_date" => "20261017"} 14:03:15.444 [debug] QUERY OK source="sources" db=0.2ms idle=985.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:15.444 [debug] QUERY OK source="sources" db=0.1ms idle=986.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:15.451 [debug] QUERY OK source="media_items" db=5.9ms idle=986.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-17 16:30:08Z], 30] 14:03:15.453 [debug] QUERY OK source="media_items" db=1.3ms idle=992.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 told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "cba3d266-535b-4eb1-87ec-3e850daeccc2", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, false, false, 30, [], 98, ~U[2026-10-17 16:30:08Z], ~U[2026-10-26 19:03:15Z], ~U[2026-10-26 19:03:15Z], "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, 30, ~U[2026-10-17 16:30:08Z]] 14:03:15.453 [debug] QUERY OK source="sources" db=0.1ms idle=106.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:15.453 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:15.454 [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 [4175011] 14:03:15.454 [debug] Current batch of media processed. Will check again in 1000ms 14:03:16.454 [debug] Current batch of media processed. Will check again in 1000ms 14:03:17.455 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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" => 1126, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", "id" => "Gn1n4CuKccI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Gn1n4CuKccI", "playlist_index" => 10, "timestamp" => 1792081827, "title" => "I Guess MacOS Isn't \"Unix\" Anymore", "upload_date" => "20261015"} 14:03:17.456 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=997.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:17.457 [debug] QUERY OK source="sources" db=0.1ms idle=998.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:17.464 [debug] QUERY OK source="media_items" db=6.7ms idle=998.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 16:30:27Z], 30] 14:03:17.466 [debug] QUERY OK source="media_items" db=1.4ms 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" ["Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "9d64a8f7-0e81-4a81-95a3-e416dd98d99c", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, false, false, 30, [], 98, ~U[2026-10-15 16:30:27Z], ~U[2026-10-26 19:03:17Z], ~U[2026-10-26 19:03:17Z], "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, 30, ~U[2026-10-15 16:30:27Z]] 14:03:17.466 [debug] QUERY OK source="sources" db=0.2ms idle=116.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:17.466 [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] 14:03:17.467 [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 [4159190] 14:03:17.467 [debug] Current batch of media processed. Will check again in 1000ms 14:03:18.467 [debug] Current batch of media processed. Will check again in 1000ms 14:03:19.469 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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" => 836, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", "id" => "QeXNWDv1JGE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QeXNWDv1JGE", "playlist_index" => 11, "timestamp" => 1791995414, "title" => "The JPEG XL Saga Is Finally Over", "upload_date" => "20261014"} 14:03:19.469 [debug] QUERY OK source="sources" db=0.2ms idle=116.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:19.470 [debug] QUERY OK source="sources" db=0.1ms idle=11.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:19.476 [debug] QUERY OK source="media_items" db=6.0ms idle=11.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 16:30:14Z], 30] 14:03:19.478 [debug] QUERY OK source="media_items" db=1.5ms 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" ["Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "c54ab8ad-98bb-4e2d-9b18-066f5dcf0136", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, false, false, 30, [], 98, ~U[2026-10-14 16:30:14Z], ~U[2026-10-26 19:03:19Z], ~U[2026-10-26 19:03:19Z], "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, 30, ~U[2026-10-14 16:30:14Z]] 14:03:19.478 [debug] QUERY OK source="sources" db=0.2ms idle=19.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:19.479 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:03:19.479 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4151358] 14:03:19.479 [debug] Current batch of media processed. Will check again in 1000ms 14:03:20.480 [debug] Current batch of media processed. Will check again in 1000ms 14:03:21.481 [debug] Current batch of media processed. Will check again in 1000ms 14:03:22.482 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1071, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", "id" => "_pojeQDbt5Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_pojeQDbt5Q", "playlist_index" => 12, "timestamp" => 1791909021, "title" => "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "upload_date" => "20261013"} 14:03:22.483 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1024.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:22.484 [debug] QUERY OK source="sources" db=0.1ms idle=1025.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:22.490 [debug] QUERY OK source="media_items" db=6.1ms 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-10-13 16:30:21Z], 30] 14:03:22.492 [debug] QUERY OK source="media_items" db=1.3ms idle=1032.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" ["There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "4a5359b2-80e9-4f16-8489-3468d6c25798", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, false, false, 30, [], 98, ~U[2026-10-13 16:30:21Z], ~U[2026-10-26 19:03:22Z], ~U[2026-10-26 19:03:22Z], "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, 30, ~U[2026-10-13 16:30:21Z]] 14:03:22.492 [debug] QUERY OK source="sources" db=0.2ms idle=134.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:22.493 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:22.493 [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 [4143528] 14:03:22.493 [debug] Current batch of media processed. Will check again in 1000ms 14:03:23.494 [debug] Current batch of media processed. Will check again in 1000ms 14:03:24.495 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 782, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", "id" => "kUxDwtlnO_Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "playlist_index" => 13, "timestamp" => 1791822640, "title" => "A New Approach To An Ancient Linux Terminal Problem", "upload_date" => "20261012"} 14:03:24.496 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 14:03:24.497 [debug] QUERY OK source="sources" db=0.2ms idle=38.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:24.503 [debug] QUERY OK source="media_items" db=6.2ms idle=38.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 16:30:40Z], 30] 14:03:24.505 [debug] QUERY OK source="media_items" db=1.4ms idle=45.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 a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "f07acdbe-228e-416d-b3a4-386055049ca8", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, false, false, 30, [], 98, ~U[2026-10-12 16:30:40Z], ~U[2026-10-26 19:03:24Z], ~U[2026-10-26 19:03:24Z], "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, 30, ~U[2026-10-12 16:30:40Z]] 14:03:24.505 [debug] QUERY OK source="sources" db=0.2ms idle=46.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:24.506 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:03:24.506 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4135585] 14:03:24.506 [debug] Current batch of media processed. Will check again in 1000ms 14:03:25.507 [debug] Current batch of media processed. Will check again in 1000ms 14:03:26.508 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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" => 910, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", "id" => "SNInG2vGTvE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SNInG2vGTvE", "playlist_index" => 14, "timestamp" => 1791736225, "title" => "X11 Has Better Latency Than Wayland... Technically", "upload_date" => "20261011"} 14:03:26.509 [debug] QUERY OK source="sources" db=0.2ms idle=145.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:26.509 [debug] QUERY OK source="sources" db=0.1ms idle=50.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:26.516 [debug] QUERY OK source="media_items" db=6.4ms idle=50.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-11 16:30:25Z], 30] 14:03:26.518 [debug] QUERY OK source="media_items" db=1.5ms idle=57.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" ["Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "2850b11f-2f49-4c30-9784-694edca7297f", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, false, false, 30, [], 98, ~U[2026-10-11 16:30:25Z], ~U[2026-10-26 19:03:26Z], ~U[2026-10-26 19:03:26Z], "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, 30, ~U[2026-10-11 16:30:25Z]] 14:03:26.518 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:26.518 [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] 14:03:26.519 [debug] QUERY OK source="media_items" db=0.3ms 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 [4127723] 14:03:26.519 [debug] Current batch of media processed. Will check again in 1000ms 14:03:27.520 [debug] Current batch of media processed. Will check again in 1000ms 14:03:28.521 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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" => 726, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", "id" => "_3ir-4jfwVg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_3ir-4jfwVg", "playlist_index" => 15, "timestamp" => 1791649806, "title" => "Systemd Wants To Centralize Tracking Your Apps", "upload_date" => "20261010"} 14:03:28.522 [debug] QUERY OK source="sources" db=0.2ms idle=156.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:28.523 [debug] QUERY OK source="sources" db=0.2ms idle=64.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:28.529 [debug] QUERY OK source="media_items" db=5.9ms idle=64.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-10 16:30:06Z], 30] 14:03:28.531 [debug] QUERY OK source="media_items" db=1.4ms idle=70.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" ["Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "97da5d14-33d5-4089-94e7-f45b6e62be7e", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-10 16:30:06Z], ~U[2026-10-26 19:03:28Z], ~U[2026-10-26 19:03:28Z], "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, 30, ~U[2026-10-10 16:30:06Z]] 14:03:28.531 [debug] QUERY OK source="sources" db=0.3ms idle=72.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:28.531 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:28.532 [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 [4121430] 14:03:28.532 [debug] Current batch of media processed. Will check again in 1000ms 14:03:29.533 [debug] Current batch of media processed. Will check again in 1000ms 14:03:30.230 [info] {"source":"oban","duration":7424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:30.534 [debug] Current batch of media processed. Will check again in 1000ms 14:03:31.535 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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" => 810, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", "id" => "qWyUF_vMUWM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qWyUF_vMUWM", "playlist_index" => 16, "timestamp" => 1791477008, "title" => "Where Do The Linux Desktops Stand On AI", "upload_date" => "20261008"} 14:03:31.536 [debug] QUERY OK source="sources" db=0.2ms idle=1077.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:31.536 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:31.543 [debug] QUERY OK source="media_items" db=6.0ms idle=1078.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-08 16:30:08Z], 30] 14:03:31.545 [debug] QUERY OK source="media_items" db=1.5ms idle=173.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" ["Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "b27c8dd4-a0cb-4e48-b0b0-e4731e52ad5d", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-08 16:30:08Z], ~U[2026-10-26 19:03:31Z], ~U[2026-10-26 19:03:31Z], "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, 30, ~U[2026-10-08 16:30:08Z]] 14:03:31.545 [debug] QUERY OK source="sources" db=0.2ms idle=86.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:31.545 [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] 14:03:31.546 [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 [4105704] 14:03:31.546 [debug] Current batch of media processed. Will check again in 1000ms 14:03:32.546 [debug] Current batch of media processed. Will check again in 1000ms 14:03:33.547 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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" => 1091, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", "id" => "47cECizg0mo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=47cECizg0mo", "playlist_index" => 17, "timestamp" => 1791390615, "title" => "Flathub Unbanned AI And No One Noticed", "upload_date" => "20261007"} 14:03:33.548 [debug] QUERY OK source="sources" db=0.4ms idle=174.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 14:03:33.549 [debug] QUERY OK source="sources" db=0.1ms idle=90.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:33.555 [debug] QUERY OK source="media_items" db=6.1ms idle=90.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-07 16:30:15Z], 30] 14:03:33.557 [debug] QUERY OK source="media_items" db=1.6ms idle=96.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" ["Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "c748dc93-b8fb-493e-82b6-06e22c9a6ed6", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, false, false, 30, [], 98, ~U[2026-10-07 16:30:15Z], ~U[2026-10-26 19:03:33Z], ~U[2026-10-26 19:03:33Z], "Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, 30, ~U[2026-10-07 16:30:15Z]] 14:03:33.558 [debug] QUERY OK source="sources" db=0.2ms idle=99.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:33.559 [debug] QUERY OK source="media_profiles" db=1.0ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:03:33.559 [debug] QUERY OK source="media_items" db=0.3ms idle=10.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4097854] 14:03:33.559 [debug] Current batch of media processed. Will check again in 1000ms 14:03:34.560 [debug] Current batch of media processed. Will check again in 1000ms 14:03:35.561 [debug] Current batch of media processed. Will check again in 1000ms 14:03:36.562 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 681, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", "id" => "fz7m96PKVmY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fz7m96PKVmY", "playlist_index" => 18, "timestamp" => 1791304217, "title" => "This Company Tried To Destroy An Open Source Project", "upload_date" => "20261006"} 14:03:36.563 [debug] QUERY OK source="sources" db=0.1ms idle=1104.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:36.563 [debug] QUERY OK source="sources" db=0.1ms idle=1104.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:36.568 [debug] QUERY OK source="media_items" db=5.1ms idle=1105.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-06 16:30:17Z], 30] 14:03:36.570 [debug] QUERY OK source="media_items" db=1.3ms idle=1110.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" ["What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "6a5e2937-6a87-4411-a45e-d625ed40e03a", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, false, false, 30, [], 98, ~U[2026-10-06 16:30:17Z], ~U[2026-10-26 19:03:36Z], ~U[2026-10-26 19:03:36Z], "What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, 30, ~U[2026-10-06 16:30:17Z]] 14:03:36.571 [debug] QUERY OK source="sources" db=0.1ms idle=192.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:36.571 [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] 14:03:36.571 [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 [4089996] 14:03:36.571 [debug] Current batch of media processed. Will check again in 1000ms 14:03:37.573 [debug] Current batch of media processed. Will check again in 1000ms 14:03:38.573 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1278, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", "id" => "wQJG8Gy2VeI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wQJG8Gy2VeI", "playlist_index" => 19, "timestamp" => 1791217824, "title" => "Immutable Linux Distros Have A Big Problem With Apps", "upload_date" => "20261005"} 14:03:38.574 [debug] QUERY OK source="sources" db=0.1ms idle=192.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:03:38.574 [debug] QUERY OK source="sources" db=0.1ms idle=115.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:38.579 [debug] QUERY OK source="media_items" db=4.7ms idle=115.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-05 16:30:24Z], 30] 14:03:38.580 [debug] QUERY OK source="media_items" db=0.9ms idle=120.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" ["One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "d4a2c2b0-0fbc-4897-8868-2deab6d2aa31", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-05 16:30:24Z], ~U[2026-10-26 19:03:38Z], ~U[2026-10-26 19:03:38Z], "One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, 30, ~U[2026-10-05 16:30:24Z]] 14:03:38.581 [debug] QUERY OK source="sources" db=0.1ms idle=122.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:38.581 [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] 14:03:38.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 [4082051] 14:03:38.581 [debug] Current batch of media processed. Will check again in 1000ms 14:03:39.582 [debug] Current batch of media processed. Will check again in 1000ms 14:03:40.583 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "You'd think an office suite wouldn't be a point of debate that anyone cares about but it turns out on Fedora that may not be the case.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nForum Thread: https://discussion.fedoraproject.org/t/suggestion-retire-libreoffice-ship-collabora-as-the-default-office-suite-out-of-the-box/202428\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LibreOffice #Collabora #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" => 1047, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100400_Does Anyone On Linux Actually Care About Office Suites.mp4", "id" => "4GlNQatbLss", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4GlNQatbLss", "playlist_index" => 20, "timestamp" => 1791131405, "title" => "Does Anyone On Linux Actually Care About Office Suites", "upload_date" => "20261004"} 14:03:40.584 [debug] QUERY OK source="sources" db=0.2ms idle=199.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 14:03:40.584 [debug] QUERY OK source="sources" db=0.1ms idle=125.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:40.591 [debug] QUERY OK source="media_items" db=6.6ms idle=125.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-04 16:30:05Z], 30] 14:03:40.593 [debug] QUERY OK source="media_items" db=1.9ms idle=132.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" ["You'd think an office suite wouldn't be a point of debate that anyone cares about but it turns out on Fedora that may not be the case.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nForum Thread: https://discussion.fedoraproject.org/t/suggestion-retire-libreoffice-ship-collabora-as-the-default-office-suite-out-of-the-box/202428\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LibreOffice #Collabora #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.", "Does Anyone On Linux Actually Care About Office Suites", "6f028ae0-046e-4748-bad4-7ed716f1979c", "4GlNQatbLss", 1047, false, "https://www.youtube.com/watch?v=4GlNQatbLss", 20, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100400_Does Anyone On Linux Actually Care About Office Suites.mp4", false, false, false, 30, [], 98, ~U[2026-10-04 16:30:05Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "You'd think an office suite wouldn't be a point of debate that anyone cares about but it turns out on Fedora that may not be the case.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nForum Thread: https://discussion.fedoraproject.org/t/suggestion-retire-libreoffice-ship-collabora-as-the-default-office-suite-out-of-the-box/202428\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LibreOffice #Collabora #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.", "Does Anyone On Linux Actually Care About Office Suites", "4GlNQatbLss", 1047, false, "https://www.youtube.com/watch?v=4GlNQatbLss", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100400_Does Anyone On Linux Actually Care About Office Suites.mp4", false, 30, ~U[2026-10-04 16:30:05Z]] 14:03:40.594 [debug] QUERY OK source="sources" db=0.1ms idle=135.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:03:40.594 [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] 14:03:40.594 [debug] QUERY OK source="media_items" db=0.1ms idle=10.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 [4074238] 14:03:40.594 [debug] Current batch of media processed. Will check again in 1000ms 14:03:40.678 [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/a9/04/a9041ec27523c210f444572486e42e0ae73f2227e190c3bbcb09329cdea57ff3.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/42/b0/42b0be36d8dc6b4c45161dc4d16723d5b2de91e1d90bca7fc5eabff9d785ebf5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 14:03:40.679 [debug] Gracefully stopping file follower 14:03:40.680 [debug] QUERY OK source="sources" db=0.7ms idle=87.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 14:03:40.680 [debug] QUERY OK source="sources" db=0.0ms idle=86.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:40.685 [debug] QUERY OK source="media_items" db=4.5ms idle=86.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 16:30:25Z], 30] 14:03:40.686 [debug] QUERY OK source="media_items" db=0.9ms idle=90.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" ["Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "d89e304b-949e-433b-a0fd-5a8b6428c325", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, false, false, 30, [], 98, ~U[2026-10-26 16:30:25Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, 30, ~U[2026-10-26 16:30:25Z]] 14:03:40.686 [debug] QUERY OK source="sources" db=0.1ms idle=91.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:40.692 [debug] QUERY OK source="media_items" db=5.2ms 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-10-25 16:30:23Z], 30] 14:03:40.696 [debug] QUERY OK source="media_items" db=3.5ms 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" ["Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "ee16d58c-c3eb-499b-b785-bfd4b4a10305", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, false, false, 30, [], 98, ~U[2026-10-25 16:30:23Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, 30, ~U[2026-10-25 16:30:23Z]] 14:03:40.697 [debug] QUERY OK source="sources" db=0.9ms idle=11.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:40.702 [debug] QUERY OK source="media_items" db=4.7ms idle=11.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 16:30:31Z], 30] 14:03:40.703 [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" ["As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "957ba531-56a0-4e91-9b9a-4d324e6c8524", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-24 16:30:31Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, 30, ~U[2026-10-24 16:30:31Z]] 14:03:40.704 [debug] QUERY OK source="sources" db=0.6ms 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] 14:03:40.709 [debug] QUERY OK source="media_items" db=4.4ms idle=8.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 16:30:06Z], 30] 14:03:40.710 [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" ["After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "dbf455bd-f462-4bf0-994c-8dbb87e9b0d5", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, false, false, 30, [], 98, ~U[2026-10-22 16:30:06Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, 30, ~U[2026-10-22 16:30:06Z]] 14:03:40.711 [debug] QUERY OK source="sources" db=0.7ms 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] 14:03:40.716 [debug] QUERY OK source="media_items" db=4.6ms 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-10-21 16:30:28Z], 30] 14:03:40.730 [debug] QUERY OK source="media_items" db=13.9ms 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" ["For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "4202abe9-2a6c-46b2-ab33-6fd0d4552e63", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, false, false, 30, [], 98, ~U[2026-10-21 16:30:28Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, 30, ~U[2026-10-21 16:30:28Z]] 14:03:40.732 [debug] QUERY OK source="sources" db=0.8ms idle=21.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:40.737 [debug] QUERY OK source="media_items" db=4.9ms idle=21.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-20 16:30:13Z], 30] 14:03:40.742 [debug] QUERY OK source="media_items" db=4.6ms idle=25.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" ["Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "206f42bb-60c1-4964-961d-ebf9095eb4ac", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, false, false, 30, [], 98, ~U[2026-10-20 16:30:13Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, 30, ~U[2026-10-20 16:30:13Z]] 14:03:40.743 [debug] QUERY OK source="sources" db=0.7ms idle=26.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:40.748 [debug] QUERY OK source="media_items" db=4.6ms idle=12.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 16:30:21Z], 30] 14:03:40.749 [debug] QUERY OK source="media_items" db=1.0ms idle=16.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" ["So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "00d26e3a-6d43-4acc-ae31-f627bcd3f8cb", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, false, false, 30, [], 98, ~U[2026-10-19 16:30:21Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, 30, ~U[2026-10-19 16:30:21Z]] 14:03:40.750 [debug] QUERY OK source="sources" db=0.6ms idle=12.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:40.755 [debug] QUERY OK source="media_items" db=4.5ms 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-10-18 16:30:36Z], 30] 14:03:40.756 [debug] QUERY OK source="media_items" db=1.2ms 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" ["Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "5360f618-c91a-4ec7-a5d4-84f7e6487d1c", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-10-18 16:30:36Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, 30, ~U[2026-10-18 16:30:36Z]] 14:03:40.757 [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] 14:03:40.762 [debug] QUERY OK source="media_items" db=4.5ms 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-10-17 16:30:08Z], 30] 14:03:40.764 [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" ["If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "66a3e9fe-a058-48fb-8cbe-0cce885ef715", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, false, false, 30, [], 98, ~U[2026-10-17 16:30:08Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, 30, ~U[2026-10-17 16:30:08Z]] 14:03:40.764 [debug] QUERY OK source="sources" db=0.6ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:40.770 [debug] QUERY OK source="media_items" db=4.8ms idle=8.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 16:30:27Z], 30] 14:03:40.771 [debug] QUERY OK source="media_items" db=1.1ms idle=12.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" ["Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "14591859-5ef3-4b7b-ba1c-e184a4956a21", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, false, false, 30, [], 98, ~U[2026-10-15 16:30:27Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, 30, ~U[2026-10-15 16:30:27Z]] 14:03:40.772 [debug] QUERY OK source="sources" db=0.6ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:40.777 [debug] QUERY OK source="media_items" db=4.7ms idle=8.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 16:30:14Z], 30] 14:03:40.779 [debug] QUERY OK source="media_items" db=1.1ms idle=12.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" ["Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "7fb268f2-9002-4095-abc8-0e3c44c4c5f2", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, false, false, 30, [], 98, ~U[2026-10-14 16:30:14Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, 30, ~U[2026-10-14 16:30:14Z]] 14:03:40.779 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [30] 14:03:40.784 [debug] QUERY OK source="media_items" db=4.6ms idle=8.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 16:30:21Z], 30] 14:03:40.786 [debug] QUERY OK source="media_items" db=1.1ms 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" ["There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "158a2b23-ae9b-4a4b-921c-6d38c7f6e082", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, false, false, 30, [], 98, ~U[2026-10-13 16:30:21Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, 30, ~U[2026-10-13 16:30:21Z]] 14:03:40.787 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [30] 14:03:40.792 [debug] QUERY OK source="media_items" db=4.8ms idle=8.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 16:30:40Z], 30] 14:03:40.794 [debug] QUERY OK source="media_items" db=1.2ms idle=12.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 a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "89358cdd-dd34-4c50-91e2-0e79cb504b73", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, false, false, 30, [], 98, ~U[2026-10-12 16:30:40Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, 30, ~U[2026-10-12 16:30:40Z]] 14:03:40.795 [debug] QUERY OK source="sources" db=0.7ms idle=9.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:40.799 [debug] QUERY OK source="media_items" db=4.6ms 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-10-11 16:30:25Z], 30] 14:03:40.801 [debug] QUERY OK source="media_items" db=1.1ms idle=12.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" ["Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "7a0c4a49-21ab-4d0f-b910-ef45705a542c", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, false, false, 30, [], 98, ~U[2026-10-11 16:30:25Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, 30, ~U[2026-10-11 16:30:25Z]] 14:03:40.802 [debug] QUERY OK source="sources" db=0.7ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:03:40.806 [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-10-10 16:30:06Z], 30] 14:03:40.808 [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" ["Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "435ac659-3f83-4540-984b-11d033cc4697", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-10 16:30:06Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, 30, ~U[2026-10-10 16:30:06Z]] 14:03:40.809 [debug] QUERY OK source="sources" db=0.7ms 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] 14:03:40.814 [debug] QUERY OK source="media_items" db=4.7ms 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-10-08 16:30:08Z], 30] 14:03:40.816 [debug] QUERY OK source="media_items" db=1.4ms idle=12.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" ["Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "e6c7a31b-7704-401b-878d-e6abcf2ad0ac", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-08 16:30:08Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, 30, ~U[2026-10-08 16:30:08Z]] 14:03:40.817 [debug] QUERY OK source="sources" db=0.7ms idle=9.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:40.822 [debug] QUERY OK source="media_items" db=5.3ms idle=9.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-07 16:30:15Z], 30] 14:03:40.824 [debug] QUERY OK source="media_items" db=1.1ms 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" ["Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "dcc776c9-f976-455e-a08f-53a4ec2f4757", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, false, false, 30, [], 98, ~U[2026-10-07 16:30:15Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, 30, ~U[2026-10-07 16:30:15Z]] 14:03:40.825 [debug] QUERY OK source="sources" db=0.6ms 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] 14:03:40.829 [debug] QUERY OK source="media_items" db=4.6ms idle=9.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-06 16:30:17Z], 30] 14:03:40.836 [debug] QUERY OK source="media_items" db=5.6ms idle=12.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" ["What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "87991c55-ae98-440c-9ab1-1a75a6e25d2c", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, false, false, 30, [], 98, ~U[2026-10-06 16:30:17Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, 30, ~U[2026-10-06 16:30:17Z]] 14:03:40.837 [debug] QUERY OK source="sources" db=0.7ms idle=13.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:40.841 [debug] QUERY OK source="media_items" db=4.7ms idle=12.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-05 16:30:24Z], 30] 14:03:40.843 [debug] QUERY OK source="media_items" db=1.1ms idle=16.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" ["One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "db00ccdb-8be8-4947-95de-ec5cecca387f", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-05 16:30:24Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, 30, ~U[2026-10-05 16:30:24Z]] 14:03:40.844 [debug] QUERY OK source="sources" db=0.6ms idle=13.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:03:40.849 [debug] QUERY OK source="media_items" db=4.7ms idle=8.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-04 16:30:05Z], 30] 14:03:40.864 [debug] QUERY OK source="media_items" db=15.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" ["You'd think an office suite wouldn't be a point of debate that anyone cares about but it turns out on Fedora that may not be the case.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nForum Thread: https://discussion.fedoraproject.org/t/suggestion-retire-libreoffice-ship-collabora-as-the-default-office-suite-out-of-the-box/202428\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LibreOffice #Collabora #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.", "Does Anyone On Linux Actually Care About Office Suites", "f1d38dbf-189d-485c-b83f-9a68424a1029", "4GlNQatbLss", 1047, false, "https://www.youtube.com/watch?v=4GlNQatbLss", 20, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100400_Does Anyone On Linux Actually Care About Office Suites.mp4", false, false, false, 30, [], 98, ~U[2026-10-04 16:30:05Z], ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], "You'd think an office suite wouldn't be a point of debate that anyone cares about but it turns out on Fedora that may not be the case.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nForum Thread: https://discussion.fedoraproject.org/t/suggestion-retire-libreoffice-ship-collabora-as-the-default-office-suite-out-of-the-box/202428\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LibreOffice #Collabora #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.", "Does Anyone On Linux Actually Care About Office Suites", "4GlNQatbLss", 1047, false, "https://www.youtube.com/watch?v=4GlNQatbLss", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100400_Does Anyone On Linux Actually Care About Office Suites.mp4", false, 30, ~U[2026-10-04 16:30:05Z]] 14:03:40.865 [debug] QUERY OK source="sources" db=0.7ms idle=22.9ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z], 30] 14:03:40.871 [debug] QUERY OK source="media_items" db=5.1ms idle=22.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] 14:03:40.876 [debug] QUERY OK source="media_items" db=5.1ms idle=27.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] 14:03:40.877 [debug] QUERY OK source="media_items" db=0.9ms idle=27.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 14:03:40.879 [debug] QUERY OK source="tasks" db=0.7ms idle=7.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541585, 30, ~U[2026-10-26 19:03:40Z], ~U[2026-10-26 19:03:40Z]] 14:03:40.880 [info] {"args":{"id":30},"id":541533,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":48561331,"event":"job:stop","queue_time":151553,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:04:00.239 [info] {"source":"oban","duration":9170,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.278 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:04:30.250 [info] {"source":"oban","duration":10295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:05:00.258 [info] {"source":"oban","duration":7069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.279 [info] {"source":"oban","duration":155,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:05:24.514 [info] {"args":{"id":46},"id":541482,"meta":{},"system_time":1793041524514822842,"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"]} 14:05:24.515 [debug] QUERY OK source="sources" db=0.1ms idle=1056.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:05:24.515 [debug] QUERY OK source="settings" db=0.1ms idle=1056.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:24.516 [debug] QUERY OK source="media_items" db=0.6ms idle=1008.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")))) [46] 14:05:24.517 [debug] QUERY OK source="media_items" db=0.7ms idle=7.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [46] 14:05:24.517 [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] 14:05:24.517 [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 [] 14:05:24.517 [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 [] 14:05:24.519 [debug] QUERY OK source="media_items" db=0.6ms idle=2.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [46] 14:05:24.521 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:05:24.521 [debug] Current batch of media processed. Will check again in 1000ms 14:05:24.521 [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 [] 14:05:24.521 [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 [] 14:05:24.521 [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 [] 14:05:24.521 [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/82/0a/820ab5fe75d916659fb4fed8c936596c2989843ea94d07409247123dadc78b88.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/31/3e/313e3ee4e4bce70bbc01cd46ae3556671cd17966851d04fa5b88c09afe8ea338.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:05:25.521 [debug] Current batch of media processed. Will check again in 1000ms 14:05:26.522 [debug] Current batch of media processed. Will check again in 1000ms 14:05:27.523 [debug] Current batch of media processed. Will check again in 1000ms 14:05:28.524 [debug] Current batch of media processed. Will check again in 1000ms 14:05:29.525 [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" => 1, "timestamp" => 1772314079, "title" => "Linux / FOSS are irrelevant in the future", "upload_date" => "20260228"} 14:05:29.526 [debug] QUERY OK source="sources" db=0.2ms idle=1067.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:05:29.526 [debug] QUERY OK source="sources" db=0.2ms idle=1067.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:05:29.527 [debug] QUERY OK source="media_items" db=0.4ms idle=1068.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-28 21:27:59Z], 46] 14:05:29.529 [debug] QUERY OK source="media_items" db=1.9ms idle=1015.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" ["Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Linux / FOSS are irrelevant in the future", "66f21144-dc5c-4742-9a9d-49c24c1eb312", "fLmIRC8R19s", 549, false, "https://www.youtube.com/watch?v=fLmIRC8R19s", 1, "/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-10-26 19:05:29Z], ~U[2026-10-26 19:05:29Z], "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]] 14:05:29.530 [debug] QUERY OK source="sources" db=0.3ms idle=15.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 14:05:29.530 [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] 14:05:29.531 [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 [2377781] 14:05:29.531 [debug] Current batch of media processed. Will check again in 1000ms 14:05:30.268 [info] {"source":"oban","duration":9029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:30.531 [debug] Current batch of media processed. Will check again in 1000ms 14:05:31.532 [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" => 2, "timestamp" => 1772097703, "title" => "HOST FREE from home (no tunnel, no VPS, no Static IP)", "upload_date" => "20260226"} 14:05:31.533 [debug] QUERY OK source="sources" db=0.2ms idle=74.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [46] 14:05:31.533 [debug] QUERY OK source="sources" db=0.2ms idle=74.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:05:31.534 [debug] QUERY OK source="media_items" db=0.5ms idle=75.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 09:21:43Z], 46] 14:05:31.536 [debug] QUERY OK source="media_items" db=1.6ms idle=76.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", "HOST FREE from home (no tunnel, no VPS, no Static IP)", "3dddfc04-243f-4ea7-b70a-8a8fe37b7d70", "7y60xBovdnI", 507, false, "https://www.youtube.com/watch?v=7y60xBovdnI", 2, "/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-10-26 19:05:31Z], ~U[2026-10-26 19:05:31Z], "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]] 14:05:31.537 [debug] QUERY OK source="sources" db=0.3ms idle=20.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:05:31.537 [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] 14:05:31.537 [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 [2358266] 14:05:31.537 [debug] Current batch of media processed. Will check again in 1000ms 14:05:32.538 [debug] Current batch of media processed. Will check again in 1000ms 14:05:33.539 [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" => 3, "timestamp" => 1771588269, "title" => "MacOS *float vs Hyprland *tile", "upload_date" => "20260220"} 14:05:33.540 [debug] QUERY OK source="sources" db=0.1ms idle=81.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:05:33.540 [debug] QUERY OK source="sources" db=0.1ms idle=81.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:05:33.541 [debug] QUERY OK source="media_items" db=0.4ms idle=81.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] 14:05:33.542 [debug] QUERY OK source="media_items" db=0.8ms idle=82.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", "MacOS *float vs Hyprland *tile", "185e575e-0eea-45ef-abc0-cc8fca006aa4", "LrOuqMzKdAE", 684, false, "https://www.youtube.com/watch?v=LrOuqMzKdAE", 3, "/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-10-26 19:05:33Z], ~U[2026-10-26 19:05:33Z], "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]] 14:05:33.542 [debug] QUERY OK source="sources" db=0.2ms idle=23.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 14:05:33.543 [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] 14:05:33.543 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2312061] 14:05:33.543 [debug] Current batch of media processed. Will check again in 1000ms 14:05:34.544 [debug] Current batch of media processed. Will check again in 1000ms 14:05:35.514 [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/82/0a/820ab5fe75d916659fb4fed8c936596c2989843ea94d07409247123dadc78b88.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/31/3e/313e3ee4e4bce70bbc01cd46ae3556671cd17966851d04fa5b88c09afe8ea338.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 14:05:35.514 [debug] Gracefully stopping file follower 14:05:35.515 [debug] QUERY OK source="sources" db=0.1ms idle=994.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:05:35.515 [debug] QUERY OK source="sources" db=0.1ms idle=56.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:05:35.515 [debug] QUERY OK source="media_items" db=0.4ms idle=56.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] 14:05:35.516 [debug] QUERY OK source="media_items" db=0.4ms idle=57.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" ["Mentioned - @DigitalMetal \n\nread - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Linux / FOSS are irrelevant in the future", "b3eb6100-6621-4e97-9b33-3b820e4a8567", "fLmIRC8R19s", 549, false, "https://www.youtube.com/watch?v=fLmIRC8R19s", 1, "/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-10-26 19:05:35Z], ~U[2026-10-26 19:05:35Z], "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]] 14:05:35.516 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 14:05:35.517 [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-26 09:21:43Z], 46] 14:05:35.518 [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", "HOST FREE from home (no tunnel, no VPS, no Static IP)", "90df9a41-a8d5-4c22-98c6-051478e60a48", "7y60xBovdnI", 507, false, "https://www.youtube.com/watch?v=7y60xBovdnI", 2, "/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-10-26 19:05:35Z], ~U[2026-10-26 19:05:35Z], "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]] 14:05:35.518 [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] 14:05:35.518 [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-20 11:51:09Z], 46] 14:05:35.519 [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", "MacOS *float vs Hyprland *tile", "bedc8200-3fc0-46b3-aaac-4e6c031fcdfb", "LrOuqMzKdAE", 684, false, "https://www.youtube.com/watch?v=LrOuqMzKdAE", 3, "/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-10-26 19:05:35Z], ~U[2026-10-26 19:05:35Z], "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]] 14:05:35.519 [debug] QUERY OK source="sources" db=0.1ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [46] 14:05:35.520 [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-01-11 23:25:59Z], 46] 14:05:35.521 [debug] QUERY OK source="media_items" db=1.0ms 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" ["read - https://bugswriter.com\nwrite - suraj@bugswriter.com", "Why developers fail earning $$$ (independently) ?", "2736d2ed-4c05-48ae-adeb-7404c96039f0", "giQ_7l5p2Kg", 727, false, "https://www.youtube.com/watch?v=giQ_7l5p2Kg", 4, "/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-10-26 19:05:35Z], ~U[2026-10-26 19:05:35Z], "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]] 14:05:35.521 [debug] QUERY OK source="sources" db=0.1ms idle=2.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 19:05:35Z], ~U[2026-10-26 19:05:35Z], 46] 14:05:35.522 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 14:05:35.522 [debug] QUERY OK source="media_items" db=0.4ms 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")))) [46] 14:05:35.522 [debug] QUERY OK source="media_items" db=0.1ms idle=1.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [46] 14:05:35.524 [debug] QUERY OK source="tasks" db=0.7ms idle=1.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541586, 46, ~U[2026-10-26 19:05:35Z], ~U[2026-10-26 19:05:35Z]] 14:05:35.524 [info] {"args":{"id":46},"id":541482,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":11009732,"event":"job:stop","queue_time":82554,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:06:00.279 [info] {"source":"oban","duration":9514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.280 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:06:30.289 [info] {"source":"oban","duration":9476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.281 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:07:00.295 [info] {"source":"oban","duration":5914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:07:30.303 [info] {"source":"oban","duration":7275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.282 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:08:00.314 [info] {"source":"oban","duration":9776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:30.320 [info] {"source":"oban","duration":5439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:35.384 [info] GET /sources/30/media/3919982 14:08:35.384 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3919982", "source_id" => "30"} Pipelines: [:browser] 14:08:35.384 [debug] QUERY OK source="media_items" db=0.1ms idle=1925.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" = ?) [3919982] 14:08:35.385 [debug] QUERY OK source="sources" db=0.1ms idle=1926.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:08:35.389 [debug] QUERY OK source="tasks" db=4.1ms idle=1926.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" [3919982] 14:08:35.389 [debug] QUERY OK source="settings" db=0.1ms idle=1654.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:35.389 [debug] QUERY OK source="settings" db=0.0ms idle=653.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:35.390 [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 [] 14:08:35.391 [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] 14:08:35.392 [info] Sent 200 in 8ms 14:08:35.708 [info] GET /sources/32/media/3914740 14:08:35.709 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3914740", "source_id" => "32"} Pipelines: [:browser] 14:08:35.709 [debug] QUERY OK source="media_items" db=0.3ms idle=320.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" = ?) [3914740] 14:08:35.710 [debug] QUERY OK source="tasks" db=0.2ms idle=320.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" [3914740] 14:08:35.710 [debug] QUERY OK source="sources" db=0.3ms idle=320.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:08:35.710 [debug] QUERY OK source="settings" db=0.0ms idle=320.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:35.711 [debug] QUERY OK source="settings" db=0.1ms idle=319.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:35.711 [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 [] 14:08:35.712 [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] 14:08:35.713 [info] Sent 200 in 4ms 14:08:36.210 [info] GET /sources/30/media/3919982/edit 14:08:36.210 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3919982", "source_id" => "30"} Pipelines: [:browser] 14:08:36.211 [debug] QUERY OK source="media_items" db=0.2ms idle=500.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3919982] 14:08:36.211 [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 [] 14:08:36.212 [debug] QUERY OK source="settings" db=0.1ms idle=500.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:36.212 [debug] QUERY OK source="settings" db=0.1ms idle=500.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:36.213 [info] Sent 200 in 2ms 14:08:36.711 [info] GET /sources/32/media/3914740/edit 14:08:36.711 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3914740", "source_id" => "32"} Pipelines: [:browser] 14:08:36.712 [debug] QUERY OK source="media_items" db=0.2ms idle=974.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" = ?) [3914740] 14:08:36.713 [debug] QUERY OK source="settings" db=0.1ms idle=501.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:36.713 [debug] QUERY OK source="settings" db=0.0ms idle=501.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:36.713 [debug] QUERY OK source="settings" db=0.0ms idle=501.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:36.714 [info] Sent 200 in 2ms 14:08:37.212 [info] GET /sources/30/media/3975397 14:08:37.212 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3975397", "source_id" => "30"} Pipelines: [:browser] 14:08:37.213 [debug] QUERY OK source="media_items" db=0.2ms idle=500.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" = ?) [3975397] 14:08:37.213 [debug] QUERY OK source="tasks" db=0.1ms idle=500.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" [3975397] 14:08:37.213 [debug] QUERY OK source="sources" db=0.2ms idle=500.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:08:37.214 [debug] QUERY OK source="settings" db=0.1ms idle=500.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:37.214 [debug] QUERY OK source="settings" db=0.1ms idle=474.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:37.214 [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 [] 14:08:37.215 [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] 14:08:37.216 [info] Sent 200 in 4ms 14:08:37.716 [info] GET /sources/37/media/4206313/edit 14:08:37.717 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4206313", "source_id" => "37"} Pipelines: [:browser] 14:08:37.717 [debug] QUERY OK source="media_items" db=0.2ms idle=503.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4206313] 14:08:37.717 [debug] QUERY OK source="settings" db=0.1ms idle=503.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:37.718 [debug] QUERY OK source="settings" db=0.0ms idle=503.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:37.718 [debug] QUERY OK source="settings" db=0.0ms idle=503.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:37.719 [info] Sent 200 in 2ms 14:08:38.216 [info] GET /sources/30/media/3967474 14:08:38.216 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3967474", "source_id" => "30"} Pipelines: [:browser] 14:08:38.217 [debug] QUERY OK source="media_items" db=0.2ms idle=499.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" = ?) [3967474] 14:08:38.218 [debug] QUERY OK source="tasks" db=0.2ms idle=499.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [3967474] 14:08:38.218 [debug] QUERY OK source="sources" db=0.3ms idle=499.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:08:38.218 [debug] QUERY OK source="settings" db=0.1ms idle=500.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:38.218 [debug] QUERY OK source="settings" db=0.1ms idle=478.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:38.219 [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 [] 14:08:38.220 [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] 14:08:38.221 [info] Sent 200 in 4ms 14:08:38.714 [info] GET /sources/30/media/3975397/edit 14:08:38.714 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3975397", "source_id" => "30"} Pipelines: [:browser] 14:08:38.715 [debug] QUERY OK source="media_items" db=0.2ms idle=496.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" = ?) [3975397] 14:08:38.715 [debug] QUERY OK source="settings" db=0.1ms idle=497.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:38.716 [debug] QUERY OK source="settings" db=0.0ms idle=497.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:08:38.716 [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 [] 14:08:38.717 [info] Sent 200 in 2ms 14:09:00.283 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:09:00.329 [info] {"source":"oban","duration":9318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:30.336 [info] {"source":"oban","duration":5608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:33.042 [info] GET /sources/37/media/4127445 14:09:33.042 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4127445", "source_id" => "37"} Pipelines: [:browser] 14:09:33.042 [debug] QUERY OK source="media_items" db=0.2ms idle=1583.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" = ?) [4127445] 14:09:33.043 [debug] QUERY OK source="tasks" db=0.1ms 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" [4127445] 14:09:33.043 [debug] QUERY OK source="sources" db=0.2ms idle=1240.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:09:33.044 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=584.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 (?,?)) [514744, 517396] 14:09:33.044 [debug] QUERY OK source="settings" db=0.0ms idle=241.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:33.044 [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 [] 14:09:33.045 [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 [] 14:09:33.045 [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] 14:09:33.047 [info] Sent 200 in 5ms 14:09:33.249 [info] GET /sources/30/media/3935837 14:09:33.249 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3935837", "source_id" => "30"} Pipelines: [:browser] 14:09:33.250 [debug] QUERY OK source="media_items" db=0.2ms idle=205.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" = ?) [3935837] 14:09:33.250 [debug] QUERY OK source="tasks" db=0.1ms idle=206.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" [3935837] 14:09:33.251 [debug] QUERY OK source="sources" db=0.2ms idle=205.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:09:33.251 [debug] QUERY OK source="settings" db=0.1ms idle=206.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:33.251 [debug] QUERY OK source="settings" db=0.1ms idle=205.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:33.252 [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 [] 14:09:33.252 [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] 14:09:33.254 [info] Sent 200 in 4ms 14:09:33.754 [info] GET /sources/30/media/4198751/edit 14:09:33.754 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4198751", "source_id" => "30"} Pipelines: [:browser] 14:09:33.754 [debug] QUERY OK source="media_items" db=0.2ms idle=503.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" = ?) [4198751] 14:09:33.755 [debug] QUERY OK source="settings" db=0.1ms idle=503.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:33.755 [debug] QUERY OK source="settings" db=0.0ms idle=503.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:33.755 [debug] QUERY OK source="settings" db=0.1ms idle=503.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:33.756 [info] Sent 200 in 2ms 14:09:34.254 [info] GET /sources/32/media/4130797 14:09:34.254 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4130797", "source_id" => "32"} Pipelines: [:browser] 14:09:34.254 [debug] QUERY OK source="media_items" db=0.2ms idle=499.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" = ?) [4130797] 14:09:34.255 [debug] QUERY OK source="tasks" db=0.1ms idle=499.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" [4130797] 14:09:34.255 [debug] QUERY OK source="sources" db=0.2ms idle=499.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:09:34.255 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=499.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" = ?) [515599] 14:09:34.255 [debug] QUERY OK source="settings" db=0.1ms idle=451.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:34.256 [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 [] 14:09:34.256 [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 [] 14:09:34.257 [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] 14:09:34.277 [info] Sent 200 in 23ms 14:09:34.870 [info] GET /sources/30/media/4190952 14:09:34.870 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4190952", "source_id" => "30"} Pipelines: [:browser] 14:09:34.871 [debug] QUERY OK source="media_items" db=0.2ms idle=614.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" = ?) [4190952] 14:09:34.871 [debug] QUERY OK source="tasks" db=0.1ms idle=615.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" [4190952] 14:09:34.871 [debug] QUERY OK source="sources" db=0.3ms idle=614.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:09:34.872 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=615.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 (?,?)) [528047, 531088] 14:09:34.872 [debug] QUERY OK source="settings" db=0.1ms idle=66.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:34.872 [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 [] 14:09:34.873 [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 [] 14:09:34.873 [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] 14:09:34.875 [info] Sent 200 in 4ms 14:09:35.259 [info] GET /sources/30/media/3959482/edit 14:09:35.259 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3959482", "source_id" => "30"} Pipelines: [:browser] 14:09:35.260 [debug] QUERY OK source="media_items" db=0.1ms idle=387.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" = ?) [3959482] 14:09:35.260 [debug] QUERY OK source="settings" db=0.0ms idle=387.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:35.260 [debug] QUERY OK source="settings" db=0.0ms idle=387.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:35.261 [debug] QUERY OK source="settings" db=0.0ms idle=387.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:35.261 [info] Sent 200 in 1ms 14:09:35.760 [info] GET /sources/37/media/4133091/edit 14:09:35.761 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4133091", "source_id" => "37"} Pipelines: [:browser] 14:09:35.761 [debug] QUERY OK source="media_items" db=0.1ms idle=887.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" = ?) [4133091] 14:09:35.761 [debug] QUERY OK source="settings" db=0.1ms idle=501.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:35.762 [debug] QUERY OK source="settings" db=0.1ms idle=501.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:35.762 [debug] QUERY OK source="settings" db=0.0ms 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 [] 14:09:35.763 [info] Sent 200 in 2ms 14:09:36.262 [info] GET /sources/43/media/4157367 14:09:36.262 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4157367", "source_id" => "43"} Pipelines: [:browser] 14:09:36.263 [debug] QUERY OK source="media_items" db=0.2ms idle=501.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" = ?) [4157367] 14:09:36.264 [debug] QUERY OK source="tasks" db=0.2ms idle=501.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" [4157367] 14:09:36.264 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [43] 14:09:36.264 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=501.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" = ?) [520655] 14:09:36.264 [debug] QUERY OK source="settings" db=0.1ms idle=457.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:36.265 [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 [] 14:09:36.265 [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 [] 14:09:36.266 [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] 14:09:36.267 [info] Sent 200 in 4ms 14:09:36.763 [info] GET /sources/35/media/3959280 14:09:36.763 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3959280", "source_id" => "35"} Pipelines: [:browser] 14:09:36.764 [debug] QUERY OK source="media_items" db=0.3ms idle=499.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3959280] 14:09:36.765 [debug] QUERY OK source="tasks" db=0.1ms idle=500.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" [3959280] 14:09:36.765 [debug] QUERY OK source="sources" db=0.3ms idle=499.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:09:36.765 [debug] QUERY OK source="settings" db=0.1ms idle=500.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:36.766 [debug] QUERY OK source="settings" db=0.1ms 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 [] 14:09:36.766 [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 [] 14:09:36.767 [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] 14:09:36.768 [info] Sent 200 in 4ms 14:10:00.284 [info] {"source":"oban","duration":142,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:10:00.341 [info] {"source":"oban","duration":4757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:10:29.883 [info] {"args":{"id":37},"id":541483,"meta":{},"system_time":1793041829883477272,"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"]} 14:10:29.884 [debug] QUERY OK source="sources" db=0.2ms idle=1008.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 14:10:29.884 [debug] QUERY OK source="settings" db=0.2ms idle=425.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:10:29.888 [debug] QUERY OK source="media_items" db=3.7ms idle=426.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")))) [37] 14:10:29.888 [debug] QUERY OK source="media_items" db=0.2ms idle=11.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [37] 14:10:29.889 [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] 14:10:29.889 [debug] QUERY OK source="settings" db=0.0ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:10:29.889 [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 [] 14:10:29.893 [debug] QUERY OK source="media_items" db=2.7ms 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] 14:10:29.895 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:10:29.895 [debug] Current batch of media processed. Will check again in 1000ms 14:10:29.895 [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 [] 14:10:29.895 [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 [] 14:10:29.895 [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 [] 14:10:29.895 [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/e8/93/e893d5175964c905ec7b8c92ca7d33d32737e9b0097b01be5321fae8a78db9c6.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/94/c0/94c0339636f308a96b2d11d3179c13beb68a38365ba30bb6f4df051c914a0515.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:10:30.349 [info] {"source":"oban","duration":7440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:30.895 [debug] Current batch of media processed. Will check again in 1000ms 14:10:31.896 [debug] Current batch of media processed. Will check again in 1000ms 14:10:32.897 [debug] Current batch of media processed. Will check again in 1000ms 14:10:33.898 [debug] Current batch of media processed. Will check again in 1000ms 14:10:34.899 [debug] Current batch of media processed. Will check again in 1000ms 14:10:35.900 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "[Sponsor]\nGood morning! And in case we don't see ya, good afternoon, good evening, and good coffee! → ssh terminal.shop\n\nFull Episode:\nYoutube: https://youtu.be/Aw5rcawuxDQ\nSpotify: https://open.spotify.com/episode/5o8f1oGoPyfIKJPVL4PW9c\n\n[Description]\nThe number 4 is holding up the internet, HTTPS might be bad design, PHP is cooked, and Casey is addicted to Pokémon. The crew also ranks programming's most famous laws, from Conway and Brooks to Goodhart and Hofstadter, before inventing a few laws of their own.\n\n[Chapters]\n00:00:00 - Tier listing Programming Laws\n00:00:46 - Conway\n00:06:16 - Brooks\n00:13:54 - Mooers\n00:18:35 - Eagleson\n00:21:58 - Linus\n00:29:06 - Wirth\n00:30:45 - Cunningham\n00:35:06 - Goodhart\n00:46:59 - Hyrum\n00:48:16 - Hofstadter\n00:50:08 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Trash Dev, Casey Muratori, programming, software engineering, programming laws, Conway's Law, Brooks's Law, Goodhart's Law, Linus's Law, Hyrum's Law, Hofstadter's Law, Cunningham's Law, PHP, HTTPS, SSL certificates, certificate authority, eMudhra, cybersecurity, programming humor, developer podcast, software development, coding, tech podcast, Pokémon", "duration" => 3035, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102500_Programming Laws Tier list | TheStandup.mp4", "id" => "Bye5avxGMKM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Bye5avxGMKM", "playlist_index" => 1, "timestamp" => 1792933213, "title" => "Programming Laws Tier list | TheStandup", "upload_date" => "20261025"} 14:10:35.901 [debug] QUERY OK source="sources" db=0.2ms idle=442.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:10:35.901 [debug] QUERY OK source="sources" db=0.0ms idle=442.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:10:35.904 [debug] QUERY OK source="media_items" db=2.3ms idle=443.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-25 13:00:13Z], 37] 14:10:35.905 [debug] QUERY OK source="media_items" db=1.1ms idle=445.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" ["[Sponsor]\nGood morning! And in case we don't see ya, good afternoon, good evening, and good coffee! → ssh terminal.shop\n\nFull Episode:\nYoutube: https://youtu.be/Aw5rcawuxDQ\nSpotify: https://open.spotify.com/episode/5o8f1oGoPyfIKJPVL4PW9c\n\n[Description]\nThe number 4 is holding up the internet, HTTPS might be bad design, PHP is cooked, and Casey is addicted to Pokémon. The crew also ranks programming's most famous laws, from Conway and Brooks to Goodhart and Hofstadter, before inventing a few laws of their own.\n\n[Chapters]\n00:00:00 - Tier listing Programming Laws\n00:00:46 - Conway\n00:06:16 - Brooks\n00:13:54 - Mooers\n00:18:35 - Eagleson\n00:21:58 - Linus\n00:29:06 - Wirth\n00:30:45 - Cunningham\n00:35:06 - Goodhart\n00:46:59 - Hyrum\n00:48:16 - Hofstadter\n00:50:08 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Trash Dev, Casey Muratori, programming, software engineering, programming laws, Conway's Law, Brooks's Law, Goodhart's Law, Linus's Law, Hyrum's Law, Hofstadter's Law, Cunningham's Law, PHP, HTTPS, SSL certificates, certificate authority, eMudhra, cybersecurity, programming humor, developer podcast, software development, coding, tech podcast, Pokémon", "Programming Laws Tier list | TheStandup", "45c4afab-49f4-4481-abf0-b8ccbce08994", "Bye5avxGMKM", 3035, false, "https://www.youtube.com/watch?v=Bye5avxGMKM", 1, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102500_Programming Laws Tier list | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-10-25 13:00:13Z], ~U[2026-10-26 19:10:35Z], ~U[2026-10-26 19:10:35Z], "[Sponsor]\nGood morning! And in case we don't see ya, good afternoon, good evening, and good coffee! → ssh terminal.shop\n\nFull Episode:\nYoutube: https://youtu.be/Aw5rcawuxDQ\nSpotify: https://open.spotify.com/episode/5o8f1oGoPyfIKJPVL4PW9c\n\n[Description]\nThe number 4 is holding up the internet, HTTPS might be bad design, PHP is cooked, and Casey is addicted to Pokémon. The crew also ranks programming's most famous laws, from Conway and Brooks to Goodhart and Hofstadter, before inventing a few laws of their own.\n\n[Chapters]\n00:00:00 - Tier listing Programming Laws\n00:00:46 - Conway\n00:06:16 - Brooks\n00:13:54 - Mooers\n00:18:35 - Eagleson\n00:21:58 - Linus\n00:29:06 - Wirth\n00:30:45 - Cunningham\n00:35:06 - Goodhart\n00:46:59 - Hyrum\n00:48:16 - Hofstadter\n00:50:08 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Trash Dev, Casey Muratori, programming, software engineering, programming laws, Conway's Law, Brooks's Law, Goodhart's Law, Linus's Law, Hyrum's Law, Hofstadter's Law, Cunningham's Law, PHP, HTTPS, SSL certificates, certificate authority, eMudhra, cybersecurity, programming humor, developer podcast, software development, coding, tech podcast, Pokémon", "Programming Laws Tier list | TheStandup", "Bye5avxGMKM", 3035, false, "https://www.youtube.com/watch?v=Bye5avxGMKM", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102500_Programming Laws Tier list | TheStandup.mp4", false, 37, ~U[2026-10-25 13:00:13Z]] 14:10:35.906 [debug] QUERY OK source="sources" db=0.1ms idle=22.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:10:35.906 [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] 14:10:35.906 [debug] QUERY OK source="media_items" db=0.4ms 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 [4237386] 14:10:35.906 [debug] Current batch of media processed. Will check again in 1000ms 14:10:36.907 [debug] Current batch of media processed. Will check again in 1000ms 14:10:37.908 [debug] Current batch of media processed. Will check again in 1000ms 14:10:38.909 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://www.anthropic.com/threat-intelligence-report-september-2026\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" => 771, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102400_OpenCode got hacked.mp4", "id" => "9OahTki4cPA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9OahTki4cPA", "playlist_index" => 2, "timestamp" => 1792810737, "title" => "OpenCode got hacked", "upload_date" => "20261024"} 14:10:38.910 [debug] QUERY OK source="sources" db=0.2ms idle=1451.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:10:38.910 [debug] QUERY OK source="sources" db=0.1ms idle=1451.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:10:38.914 [debug] QUERY OK source="media_items" db=3.1ms idle=1452.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 02:58:57Z], 37] 14:10:38.916 [debug] QUERY OK source="media_items" db=1.4ms 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" ["Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://www.anthropic.com/threat-intelligence-report-september-2026\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", "OpenCode got hacked", "8d05030f-147b-4693-ae34-6e100c14f482", "9OahTki4cPA", 771, false, "https://www.youtube.com/watch?v=9OahTki4cPA", 2, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102400_OpenCode got hacked.mp4", false, false, false, 37, [], 98, ~U[2026-10-24 02:58:57Z], ~U[2026-10-26 19:10:38Z], ~U[2026-10-26 19:10:38Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://www.anthropic.com/threat-intelligence-report-september-2026\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", "OpenCode got hacked", "9OahTki4cPA", 771, false, "https://www.youtube.com/watch?v=9OahTki4cPA", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102400_OpenCode got hacked.mp4", false, 37, ~U[2026-10-24 02:58:57Z]] 14:10:38.917 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [37] 14:10:38.917 [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] 14:10:38.918 [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 [4226614] 14:10:38.918 [debug] Current batch of media processed. Will check again in 1000ms 14:10:39.918 [debug] Current batch of media processed. Will check again in 1000ms 14:10:40.919 [debug] Current batch of media processed. Will check again in 1000ms 14:10:41.920 [debug] Current batch of media processed. Will check again in 1000ms 14:10:42.921 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I forget everything. Grok Bot doesn't. It runs my calendar, my reminders, and my to-do list. And my wife is happier. Try Grok Bot: https://trm.sh/bot\n\nSources:\n\n- https://x.com/markjaquith/status/2112700200829759970\n- https://x.com/hd_nvim/status/2112943574320820401\n- https://x.com/otomir23/status/2112697830687047918\n- https://fenko.nz/blog/emudhra-ca-compromise/?utm_source=chatgpt.com\n- https://emudhra.we-have-a-problem.com/?utm_source=chatgpt.com#macos-curl\n\nTopics Covered:\n\n- The eMudhra Hack\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" => 511, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102200_There Is No Way This Is Real.mp4", "id" => "O905JwSgoi4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=O905JwSgoi4", "playlist_index" => 3, "timestamp" => 1792672967, "title" => "There Is No Way This Is Real", "upload_date" => "20261022"} 14:10:42.922 [debug] QUERY OK source="sources" db=0.1ms idle=463.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:10:42.922 [debug] QUERY OK source="sources" db=0.1ms idle=463.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:10:42.925 [debug] QUERY OK source="media_items" db=3.0ms idle=463.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 12:42:47Z], 37] 14:10:42.927 [debug] QUERY OK source="media_items" db=1.3ms idle=467.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 forget everything. Grok Bot doesn't. It runs my calendar, my reminders, and my to-do list. And my wife is happier. Try Grok Bot: https://trm.sh/bot\n\nSources:\n\n- https://x.com/markjaquith/status/2112700200829759970\n- https://x.com/hd_nvim/status/2112943574320820401\n- https://x.com/otomir23/status/2112697830687047918\n- https://fenko.nz/blog/emudhra-ca-compromise/?utm_source=chatgpt.com\n- https://emudhra.we-have-a-problem.com/?utm_source=chatgpt.com#macos-curl\n\nTopics Covered:\n\n- The eMudhra Hack\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", "There Is No Way This Is Real", "65b66044-2d9f-4349-93a5-07b1b3d03058", "O905JwSgoi4", 511, false, "https://www.youtube.com/watch?v=O905JwSgoi4", 3, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102200_There Is No Way This Is Real.mp4", false, false, false, 37, [], 98, ~U[2026-10-22 12:42:47Z], ~U[2026-10-26 19:10:42Z], ~U[2026-10-26 19:10:42Z], "I forget everything. Grok Bot doesn't. It runs my calendar, my reminders, and my to-do list. And my wife is happier. Try Grok Bot: https://trm.sh/bot\n\nSources:\n\n- https://x.com/markjaquith/status/2112700200829759970\n- https://x.com/hd_nvim/status/2112943574320820401\n- https://x.com/otomir23/status/2112697830687047918\n- https://fenko.nz/blog/emudhra-ca-compromise/?utm_source=chatgpt.com\n- https://emudhra.we-have-a-problem.com/?utm_source=chatgpt.com#macos-curl\n\nTopics Covered:\n\n- The eMudhra Hack\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", "There Is No Way This Is Real", "O905JwSgoi4", 511, false, "https://www.youtube.com/watch?v=O905JwSgoi4", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102200_There Is No Way This Is Real.mp4", false, 37, ~U[2026-10-22 12:42:47Z]] 14:10:42.927 [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] 14:10:42.927 [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] 14:10:42.928 [debug] QUERY OK source="media_items" db=0.2ms 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 [4211856] 14:10:42.928 [debug] Current batch of media processed. Will check again in 1000ms 14:10:43.928 [debug] Current batch of media processed. Will check again in 1000ms 14:10:44.929 [debug] Current batch of media processed. Will check again in 1000ms 14:10:45.930 [debug] Current batch of media processed. Will check again in 1000ms 14:10:46.931 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/g4KsKFgARC4\nSpotify: https://open.spotify.com/episode/7ySTxLC7MBtG8koIf7gIIh\n\n[Description]\nThe Standup crew puts their detective skills to the test with a quiz about Dream's supposedly \"uncut\" Minecraft Manhunts. Can programmers spot the suspicious edits, hidden clues, and inconsistencies?\n\n[Chapters]\n00:00:00 - Intro\n00:07:13 - Question 1\n00:09:58 - Confession: What Happens During a Lag Spike?\n00:17:56 - Question 2\n00:22:23 - Question 3\n00:25:42 - Question 4\n00:27:49 - Question 5\n00:31:40 - Question 6\n00:37:04 - Ask Casey: When Is Data-Driven Design Worth It?\n00:43:11 - Question 7\n00:49:18 - Matrices\n00:52:27 - Ask Casey: What Should Run on the Wall Clock?\n00:54:59 - Question 8\n00:57:53 - Question 9\n00:59:58 - Jolt Cracker\n01:04:05 - Outro\n\n[Sources]\n@rubyswolf9767 \nhttps://www.youtube.com/watch?v=WsWNWzSwVUA\nhttps://dartjs.com/joltcracker\nhttps://mcsrc.dev/\nhttp://github.com/misode/mcmeta\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Casey Muratori, Trash Dev, Dream, Dream Minecraft, Minecraft, Minecraft Manhunt, Dream Manhunt, Dream cheating, Dream controversy, Fake Minecraft Manhunts, Minecraft cheating, Minecraft investigation, Minecraft drama, programming, programmers, game development, Minecraft game ticks, Minecraft hunger bar, Minecraft quiz, uncut manhunt, DarkSpark", "duration" => 3875, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102100_Programmers vs Dream's Fake Manhunts | TheStandup.mp4", "id" => "y2C0Zpnl6p0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y2C0Zpnl6p0", "playlist_index" => 4, "timestamp" => 1792594837, "title" => "Programmers vs Dream's Fake Manhunts | TheStandup", "upload_date" => "20261021"} 14:10:46.932 [debug] QUERY OK source="sources" db=0.2ms idle=473.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 14:10:46.933 [debug] QUERY OK source="sources" db=0.1ms idle=474.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 14:10:46.936 [debug] QUERY OK source="media_items" db=3.0ms idle=474.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 15:00:37Z], 37] 14:10:46.939 [debug] QUERY OK source="media_items" db=2.1ms idle=477.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" ["[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/g4KsKFgARC4\nSpotify: https://open.spotify.com/episode/7ySTxLC7MBtG8koIf7gIIh\n\n[Description]\nThe Standup crew puts their detective skills to the test with a quiz about Dream's supposedly \"uncut\" Minecraft Manhunts. Can programmers spot the suspicious edits, hidden clues, and inconsistencies?\n\n[Chapters]\n00:00:00 - Intro\n00:07:13 - Question 1\n00:09:58 - Confession: What Happens During a Lag Spike?\n00:17:56 - Question 2\n00:22:23 - Question 3\n00:25:42 - Question 4\n00:27:49 - Question 5\n00:31:40 - Question 6\n00:37:04 - Ask Casey: When Is Data-Driven Design Worth It?\n00:43:11 - Question 7\n00:49:18 - Matrices\n00:52:27 - Ask Casey: What Should Run on the Wall Clock?\n00:54:59 - Question 8\n00:57:53 - Question 9\n00:59:58 - Jolt Cracker\n01:04:05 - Outro\n\n[Sources]\n@rubyswolf9767 \nhttps://www.youtube.com/watch?v=WsWNWzSwVUA\nhttps://dartjs.com/joltcracker\nhttps://mcsrc.dev/\nhttp://github.com/misode/mcmeta\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Casey Muratori, Trash Dev, Dream, Dream Minecraft, Minecraft, Minecraft Manhunt, Dream Manhunt, Dream cheating, Dream controversy, Fake Minecraft Manhunts, Minecraft cheating, Minecraft investigation, Minecraft drama, programming, programmers, game development, Minecraft game ticks, Minecraft hunger bar, Minecraft quiz, uncut manhunt, DarkSpark", "Programmers vs Dream's Fake Manhunts | TheStandup", "e8052b37-1bc0-4445-9642-71cf73989772", "y2C0Zpnl6p0", 3875, false, "https://www.youtube.com/watch?v=y2C0Zpnl6p0", 4, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102100_Programmers vs Dream's Fake Manhunts | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-10-21 15:00:37Z], ~U[2026-10-26 19:10:46Z], ~U[2026-10-26 19:10:46Z], "[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/g4KsKFgARC4\nSpotify: https://open.spotify.com/episode/7ySTxLC7MBtG8koIf7gIIh\n\n[Description]\nThe Standup crew puts their detective skills to the test with a quiz about Dream's supposedly \"uncut\" Minecraft Manhunts. Can programmers spot the suspicious edits, hidden clues, and inconsistencies?\n\n[Chapters]\n00:00:00 - Intro\n00:07:13 - Question 1\n00:09:58 - Confession: What Happens During a Lag Spike?\n00:17:56 - Question 2\n00:22:23 - Question 3\n00:25:42 - Question 4\n00:27:49 - Question 5\n00:31:40 - Question 6\n00:37:04 - Ask Casey: When Is Data-Driven Design Worth It?\n00:43:11 - Question 7\n00:49:18 - Matrices\n00:52:27 - Ask Casey: What Should Run on the Wall Clock?\n00:54:59 - Question 8\n00:57:53 - Question 9\n00:59:58 - Jolt Cracker\n01:04:05 - Outro\n\n[Sources]\n@rubyswolf9767 \nhttps://www.youtube.com/watch?v=WsWNWzSwVUA\nhttps://dartjs.com/joltcracker\nhttps://mcsrc.dev/\nhttp://github.com/misode/mcmeta\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Casey Muratori, Trash Dev, Dream, Dream Minecraft, Minecraft, Minecraft Manhunt, Dream Manhunt, Dream cheating, Dream controversy, Fake Minecraft Manhunts, Minecraft cheating, Minecraft investigation, Minecraft drama, programming, programmers, game development, Minecraft game ticks, Minecraft hunger bar, Minecraft quiz, uncut manhunt, DarkSpark", "Programmers vs Dream's Fake Manhunts | TheStandup", "y2C0Zpnl6p0", 3875, false, "https://www.youtube.com/watch?v=y2C0Zpnl6p0", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102100_Programmers vs Dream's Fake Manhunts | TheStandup.mp4", false, 37, ~U[2026-10-21 15:00:37Z]] 14:10:46.939 [debug] QUERY OK source="sources" db=0.2ms 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] 14:10:46.940 [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] 14:10:46.940 [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 [4206313] 14:10:46.940 [debug] Current batch of media processed. Will check again in 1000ms 14:10:47.941 [debug] Current batch of media processed. Will check again in 1000ms 14:10:48.942 [debug] Current batch of media processed. Will check again in 1000ms 14:10:49.943 [debug] Current batch of media processed. Will check again in 1000ms 14:10:50.944 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://blog.cloudflare.com/durable-objects-ga/\n- https://x.com/rough__sea/status/2105853283617440032\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" => 785, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101900_The Real Reason.mp4", "id" => "5WyoCv68Sok", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5WyoCv68Sok", "playlist_index" => 5, "timestamp" => 1792438229, "title" => "The Real Reason", "upload_date" => "20261019"} 14:10:50.945 [debug] QUERY OK source="sources" db=0.2ms idle=486.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 14:10:50.945 [debug] QUERY OK source="sources" db=0.1ms idle=486.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:10:50.949 [debug] QUERY OK source="media_items" db=3.1ms idle=487.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 19:30:29Z], 37] 14:10:50.950 [debug] QUERY OK source="media_items" db=0.9ms idle=490.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" ["Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://blog.cloudflare.com/durable-objects-ga/\n- https://x.com/rough__sea/status/2105853283617440032\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 Real Reason", "d51ad354-9d2f-4a4b-9915-802b1c29c963", "5WyoCv68Sok", 785, false, "https://www.youtube.com/watch?v=5WyoCv68Sok", 5, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101900_The Real Reason.mp4", false, false, false, 37, [], 98, ~U[2026-10-19 19:30:29Z], ~U[2026-10-26 19:10:50Z], ~U[2026-10-26 19:10:50Z], "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://blog.cloudflare.com/durable-objects-ga/\n- https://x.com/rough__sea/status/2105853283617440032\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 Real Reason", "5WyoCv68Sok", 785, false, "https://www.youtube.com/watch?v=5WyoCv68Sok", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101900_The Real Reason.mp4", false, 37, ~U[2026-10-19 19:30:29Z]] 14:10:50.951 [debug] QUERY OK source="sources" db=0.2ms idle=48.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:10:50.951 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:10:50.951 [debug] QUERY OK source="media_items" db=0.3ms 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 [4191859] 14:10:50.952 [debug] Current batch of media processed. Will check again in 1000ms 14:10:51.952 [debug] Current batch of media processed. Will check again in 1000ms 14:10:52.953 [debug] Current batch of media processed. Will check again in 1000ms 14:10:53.954 [debug] Current batch of media processed. Will check again in 1000ms 14:10:54.955 [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\n- https://www.anthropic.com/news/2026-usage-policy-update\n- https://x.com/tekbog/status/1955031936633622788\n- https://x.com/Yuchenj_UW/status/2108394698482368527\n- https://x.com/thepirateface/status/2106141859022266721\n- https://x.com/ForrestPKnight/status/2108549285427958145\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" => 637, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101500_Anthropic says No More.mp4", "id" => "ASY_H2nLG8g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ASY_H2nLG8g", "playlist_index" => 6, "timestamp" => 1792067738, "title" => "Anthropic says No More", "upload_date" => "20261015"} 14:10:54.956 [debug] QUERY OK source="sources" db=0.2ms idle=497.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:10:54.956 [debug] QUERY OK source="sources" db=0.1ms idle=498.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:10:54.960 [debug] QUERY OK source="media_items" db=3.1ms idle=498.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 12:35:38Z], 37] 14:10:54.961 [debug] QUERY OK source="media_items" db=1.2ms idle=501.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" ["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\n- https://www.anthropic.com/news/2026-usage-policy-update\n- https://x.com/tekbog/status/1955031936633622788\n- https://x.com/Yuchenj_UW/status/2108394698482368527\n- https://x.com/thepirateface/status/2106141859022266721\n- https://x.com/ForrestPKnight/status/2108549285427958145\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", "Anthropic says No More", "4bb061db-9a85-4882-aa5b-57c746aac96e", "ASY_H2nLG8g", 637, false, "https://www.youtube.com/watch?v=ASY_H2nLG8g", 6, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101500_Anthropic says No More.mp4", false, false, false, 37, [], 98, ~U[2026-10-15 12:35:38Z], ~U[2026-10-26 19:10:54Z], ~U[2026-10-26 19:10:54Z], "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\n- https://www.anthropic.com/news/2026-usage-policy-update\n- https://x.com/tekbog/status/1955031936633622788\n- https://x.com/Yuchenj_UW/status/2108394698482368527\n- https://x.com/thepirateface/status/2106141859022266721\n- https://x.com/ForrestPKnight/status/2108549285427958145\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", "Anthropic says No More", "ASY_H2nLG8g", 637, false, "https://www.youtube.com/watch?v=ASY_H2nLG8g", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101500_Anthropic says No More.mp4", false, 37, ~U[2026-10-15 12:35:38Z]] 14:10:54.962 [debug] QUERY OK source="sources" db=0.2ms idle=54.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:10:54.962 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:10:54.963 [debug] QUERY OK source="media_items" db=0.2ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4156456] 14:10:54.963 [debug] Current batch of media processed. Will check again in 1000ms 14:10:55.963 [debug] Current batch of media processed. Will check again in 1000ms 14:10:56.964 [debug] Current batch of media processed. Will check again in 1000ms 14:10:57.965 [debug] Current batch of media processed. Will check again in 1000ms 14:10:58.966 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nSources:\n- https://x.com/mitsuhiko/status/2101401648543195328\n- https://x.com/setkyarwalar/status/2101414207015322005\n- https://x.com/joshuajbrunner/status/2101436015260954766\n- https://x.com/chiefclawofficr/status/2101420952697311669\n- https://x.com/ryxcommar/status/2101407274174411099\n- https://x.com/avrldotdev/status/2101408145268777250\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" => 1120, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101200_It’s not just you.mp4", "id" => "FlWII9xFabo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FlWII9xFabo", "playlist_index" => 7, "timestamp" => 1791810037, "title" => "It’s not just you", "upload_date" => "20261012"} 14:10:58.967 [debug] QUERY OK source="sources" db=0.2ms idle=508.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:10:58.967 [debug] QUERY OK source="sources" db=0.1ms idle=508.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:10:58.971 [debug] QUERY OK source="media_items" db=3.1ms idle=509.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 13:00:37Z], 37] 14:10:58.974 [debug] QUERY OK source="media_items" db=2.7ms idle=512.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" ["Sentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nSources:\n- https://x.com/mitsuhiko/status/2101401648543195328\n- https://x.com/setkyarwalar/status/2101414207015322005\n- https://x.com/joshuajbrunner/status/2101436015260954766\n- https://x.com/chiefclawofficr/status/2101420952697311669\n- https://x.com/ryxcommar/status/2101407274174411099\n- https://x.com/avrldotdev/status/2101408145268777250\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", "It’s not just you", "29cd29f3-b466-4a45-aff9-d6c1a43ecd59", "FlWII9xFabo", 1120, false, "https://www.youtube.com/watch?v=FlWII9xFabo", 7, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101200_It’s not just you.mp4", false, false, false, 37, [], 98, ~U[2026-10-12 13:00:37Z], ~U[2026-10-26 19:10:58Z], ~U[2026-10-26 19:10:58Z], "Sentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nSources:\n- https://x.com/mitsuhiko/status/2101401648543195328\n- https://x.com/setkyarwalar/status/2101414207015322005\n- https://x.com/joshuajbrunner/status/2101436015260954766\n- https://x.com/chiefclawofficr/status/2101420952697311669\n- https://x.com/ryxcommar/status/2101407274174411099\n- https://x.com/avrldotdev/status/2101408145268777250\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", "It’s not just you", "FlWII9xFabo", 1120, false, "https://www.youtube.com/watch?v=FlWII9xFabo", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101200_It’s not just you.mp4", false, 37, ~U[2026-10-12 13:00:37Z]] 14:10:58.974 [debug] QUERY OK source="sources" db=0.2ms idle=61.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:10:58.975 [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] 14:10:58.975 [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 [4133091] 14:10:58.975 [debug] Current batch of media processed. Will check again in 1000ms 14:10:59.976 [debug] Current batch of media processed. Will check again in 1000ms 14:11:00.113 [info] GET /sources/30/media/3983228/force_download 14:11:00.114 [debug] QUERY OK source="settings" db=0.2ms idle=1139.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:00.114 [debug] QUERY OK source="settings" db=0.1ms idle=1139.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:00.114 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:11:00.114 [error] #PID<0.254828.0> running PinchflatWeb.Endpoint (connection #PID<0.254827.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/30/media/3983228/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/3983228/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3983228/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254828.0>, params: %{}, path_info: ["sources", "30", "media", "3983228", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/30/media/3983228/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIqEmN56Be7D3MAf0yC"} ], 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.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3983228/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/3983228/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/30/media/3983228/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254828.0>, params: %{}, path_info: ["sources", "30", "media", "3983228", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto (truncated) 14:11:00.285 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:11:00.359 [info] {"source":"oban","duration":9780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:11:00.480 [info] GET /sources/37/media/3923841/force_download 14:11:00.480 [debug] QUERY OK source="settings" db=0.3ms idle=565.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:00.481 [debug] QUERY OK source="settings" db=0.1ms idle=366.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:00.481 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:11:00.481 [error] #PID<0.254829.0> running PinchflatWeb.Endpoint (connection #PID<0.254827.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/37/media/3923841/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/37/media/3923841/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/3923841/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254829.0>, params: %{}, path_info: ["sources", "37", "media", "3923841", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/37/media/3923841/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIqEnlQ7VBbVXUAf0zC"} ], 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.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/3923841/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/37/media/3923841/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/3923841/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254829.0>, params: %{}, path_info: ["sources", "37", "media", "3923841", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto (truncated) 14:11:00.977 [debug] Current batch of media processed. Will check again in 1000ms 14:11:00.981 [info] GET /sources/43/media/3901377/force_download 14:11:00.981 [debug] QUERY OK source="settings" db=0.1ms idle=695.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:00.981 [debug] QUERY OK source="settings" db=0.1ms idle=622.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:00.981 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:11:00.982 [error] #PID<0.254830.0> running PinchflatWeb.Endpoint (connection #PID<0.254827.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3901377/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/3901377/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3901377/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254830.0>, params: %{}, path_info: ["sources", "43", "media", "3901377", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3901377/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIqEpcuxB7BqKwAf00C"} ], 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.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3901377/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/3901377/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3901377/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254830.0>, params: %{}, path_info: ["sources", "43", "media", "3901377", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto (truncated) 14:11:01.484 [info] GET /sources/32/media/4022492/force_download 14:11:01.485 [debug] QUERY OK source="settings" db=0.1ms idle=1004.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:01.485 [debug] QUERY OK source="settings" db=0.0ms idle=1004.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:01.485 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:11:01.485 [error] #PID<0.254831.0> running PinchflatWeb.Endpoint (connection #PID<0.254827.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/4022492/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/4022492/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/4022492/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254831.0>, params: %{}, path_info: ["sources", "32", "media", "4022492", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/4022492/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIqErUyeMGkkkQAf01C"} ], 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.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/4022492/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/4022492/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/4022492/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254831.0>, params: %{}, path_info: ["sources", "32", "media", "4022492", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto (truncated) 14:11:01.978 [debug] Current batch of media processed. Will check again in 1000ms 14:11:02.074 [info] GET /sources/43/media/4096934/force_download 14:11:02.074 [debug] QUERY OK source="settings" db=0.1ms idle=1093.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:02.075 [debug] QUERY OK source="settings" db=0.1ms idle=1093.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:02.075 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:11:02.075 [error] #PID<0.254832.0> running PinchflatWeb.Endpoint (connection #PID<0.254827.0>, stream id 5) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/4096934/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/4096934/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/4096934/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254832.0>, params: %{}, path_info: ["sources", "43", "media", "4096934", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/4096934/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIqEthYDDeTeY0Af02C"} ], 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.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/4096934/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/43/media/4096934/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/4096934/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50288}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254832.0>, params: %{}, path_info: ["sources", "43", "media", "4096934", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto (truncated) 14:11:02.488 [info] GET /media/c68ed80c-a6a3-46f1-8eb3-e8626ff02f08/stream 14:11:02.488 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "c68ed80c-a6a3-46f1-8eb3-e8626ff02f08"} Pipelines: [:maybe_basic_auth] 14:11:02.491 [debug] QUERY OK source="media_items" db=2.5ms idle=1003.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" = ?) ["c68ed80c-a6a3-46f1-8eb3-e8626ff02f08"] 14:11:02.491 [debug] Invalid range request for media item: c68ed80c-a6a3-46f1-8eb3-e8626ff02f08 - serving full file 14:11:02.491 [info] Sent 200 in 3ms 14:11:02.979 [debug] Current batch of media processed. Will check again in 1000ms 14:11:03.018 [info] GET /sources/32/media/3970154/force_download 14:11:03.018 [debug] QUERY OK source="settings" db=0.1ms idle=1101.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:03.018 [debug] QUERY OK source="settings" db=0.1ms idle=944.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:03.018 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:11:03.019 [error] #PID<0.254837.0> running PinchflatWeb.Endpoint (connection #PID<0.254836.0>, stream id 1) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/media/3970154/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/3970154/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3970154/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254837.0>, params: %{}, path_info: ["sources", "32", "media", "3970154", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/media/3970154/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIqExCbtPxE4S8Af05C"} ], 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.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3970154/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/3970154/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/media/3970154/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254837.0>, params: %{}, path_info: ["sources", "32", "media", "3970154", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto (truncated) 14:11:03.980 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode:\nYoutube: https://youtu.be/1UA0i2fpl0Y\nSpotify: https://open.spotify.com/episode/44Q10039DWZ3KDuW1p4isc\n\n[Description]\nWhat happens when AI can decompile entire games and mash them together? Prime, Teej, Casey Muratori, and Trash discuss the decompilation revolution, game preservation, AI-generated code, copyright concerns, and whether game studios can protect their work. Plus, everyone pitches their dream video game mashups, from Pokémon to StarCraft.\n\n[Chapters]\n00:00:00 - Intro\n00:01:23 - Decompiling and Mashing Games\n00:04:43 - Sentry\n00:06:52 - Different kinds of mashing\n00:10:03 - Decomping at Game Studios\n00:12:15 - Retro Preservation\n00:20:15 - AI PRs & Decomp Communities\n00:22:56 - Adobe Suite Decomp & Is any of this legal?\n00:27:53 - Gaming Industry Info Sharing\n00:31:03 - Are they going to stop shipping binaries?\n00:33:51 - Consequences of Piracy\n\n[Sources]\nCasey on Peterman Podcast: https://www.youtube.com/watch?v=jHLbL1Eg4gM\nMashups: https://x.com/chasmmmmmmmmmmm/status/2105707774646562818\nCOD in Skate: https://x.com/chasmmmmmmmmmmm/status/2104349115521888748\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\ntheprimeagen, teej_dv, casey muratori, trash dev, the standup, game decompilation, reverse engineering, AI decompilation, AI coding, video game mashups, game modding, game preservation, retro gaming, game development, game engines, AI generated code, copyright, software piracy, nintendo, pokemon, starcraft, halo, animal crossing, adobe, anti cheat, programming podcast", "duration" => 2384, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101100_AI Is Decompiling Every Game | TheStandup.mp4", "id" => "s95Q7D0WR40", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=s95Q7D0WR40", "playlist_index" => 8, "timestamp" => 1791730831, "title" => "AI Is Decompiling Every Game | TheStandup", "upload_date" => "20261011"} 14:11:03.981 [debug] QUERY OK source="sources" db=0.2ms idle=1062.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:11:03.981 [debug] QUERY OK source="sources" db=0.2ms idle=962.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 14:11:03.985 [debug] QUERY OK source="media_items" db=3.0ms idle=963.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-11 15:00:31Z], 37] 14:11:03.987 [debug] QUERY OK source="media_items" db=1.7ms idle=526.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" ["[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode:\nYoutube: https://youtu.be/1UA0i2fpl0Y\nSpotify: https://open.spotify.com/episode/44Q10039DWZ3KDuW1p4isc\n\n[Description]\nWhat happens when AI can decompile entire games and mash them together? Prime, Teej, Casey Muratori, and Trash discuss the decompilation revolution, game preservation, AI-generated code, copyright concerns, and whether game studios can protect their work. Plus, everyone pitches their dream video game mashups, from Pokémon to StarCraft.\n\n[Chapters]\n00:00:00 - Intro\n00:01:23 - Decompiling and Mashing Games\n00:04:43 - Sentry\n00:06:52 - Different kinds of mashing\n00:10:03 - Decomping at Game Studios\n00:12:15 - Retro Preservation\n00:20:15 - AI PRs & Decomp Communities\n00:22:56 - Adobe Suite Decomp & Is any of this legal?\n00:27:53 - Gaming Industry Info Sharing\n00:31:03 - Are they going to stop shipping binaries?\n00:33:51 - Consequences of Piracy\n\n[Sources]\nCasey on Peterman Podcast: https://www.youtube.com/watch?v=jHLbL1Eg4gM\nMashups: https://x.com/chasmmmmmmmmmmm/status/2105707774646562818\nCOD in Skate: https://x.com/chasmmmmmmmmmmm/status/2104349115521888748\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\ntheprimeagen, teej_dv, casey muratori, trash dev, the standup, game decompilation, reverse engineering, AI decompilation, AI coding, video game mashups, game modding, game preservation, retro gaming, game development, game engines, AI generated code, copyright, software piracy, nintendo, pokemon, starcraft, halo, animal crossing, adobe, anti cheat, programming podcast", "AI Is Decompiling Every Game | TheStandup", "308b077e-f17e-40b4-970b-3c9b5594ac9b", "s95Q7D0WR40", 2384, false, "https://www.youtube.com/watch?v=s95Q7D0WR40", 8, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101100_AI Is Decompiling Every Game | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-10-11 15:00:31Z], ~U[2026-10-26 19:11:03Z], ~U[2026-10-26 19:11:03Z], "[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode:\nYoutube: https://youtu.be/1UA0i2fpl0Y\nSpotify: https://open.spotify.com/episode/44Q10039DWZ3KDuW1p4isc\n\n[Description]\nWhat happens when AI can decompile entire games and mash them together? Prime, Teej, Casey Muratori, and Trash discuss the decompilation revolution, game preservation, AI-generated code, copyright concerns, and whether game studios can protect their work. Plus, everyone pitches their dream video game mashups, from Pokémon to StarCraft.\n\n[Chapters]\n00:00:00 - Intro\n00:01:23 - Decompiling and Mashing Games\n00:04:43 - Sentry\n00:06:52 - Different kinds of mashing\n00:10:03 - Decomping at Game Studios\n00:12:15 - Retro Preservation\n00:20:15 - AI PRs & Decomp Communities\n00:22:56 - Adobe Suite Decomp & Is any of this legal?\n00:27:53 - Gaming Industry Info Sharing\n00:31:03 - Are they going to stop shipping binaries?\n00:33:51 - Consequences of Piracy\n\n[Sources]\nCasey on Peterman Podcast: https://www.youtube.com/watch?v=jHLbL1Eg4gM\nMashups: https://x.com/chasmmmmmmmmmmm/status/2105707774646562818\nCOD in Skate: https://x.com/chasmmmmmmmmmmm/status/2104349115521888748\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\ntheprimeagen, teej_dv, casey muratori, trash dev, the standup, game decompilation, reverse engineering, AI decompilation, AI coding, video game mashups, game modding, game preservation, retro gaming, game development, game engines, AI generated code, copyright, software piracy, nintendo, pokemon, starcraft, halo, animal crossing, adobe, anti cheat, programming podcast", "AI Is Decompiling Every Game | TheStandup", "s95Q7D0WR40", 2384, false, "https://www.youtube.com/watch?v=s95Q7D0WR40", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101100_AI Is Decompiling Every Game | TheStandup.mp4", false, 37, ~U[2026-10-11 15:00:31Z]] 14:11:03.987 [debug] QUERY OK source="sources" db=0.2ms idle=68.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:11:03.988 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:11:03.988 [debug] QUERY OK source="media_items" db=0.3ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4127445] 14:11:03.988 [debug] Current batch of media processed. Will check again in 1000ms 14:11:04.066 [info] GET /sources/37/media/3989434/force_download 14:11:04.067 [debug] QUERY OK source="settings" db=0.5ms idle=82.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:04.067 [debug] QUERY OK source="settings" db=0.1ms idle=80.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:04.068 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:11:04.068 [error] #PID<0.254838.0> running PinchflatWeb.Endpoint (connection #PID<0.254836.0>, stream id 2) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/37/media/3989434/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/37/media/3989434/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/3989434/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254838.0>, params: %{}, path_info: ["sources", "37", "media", "3989434", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/37/media/3989434/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIqE08a0M1opZEAf07C"} ], 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.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/3989434/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/37/media/3989434/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/3989434/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254838.0>, params: %{}, path_info: ["sources", "37", "media", "3989434", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto (truncated) 14:11:04.989 [debug] Current batch of media processed. Will check again in 1000ms 14:11:05.059 [info] GET /sources/37/media/4078604/force_download 14:11:05.060 [debug] QUERY OK source="settings" db=0.1ms idle=1071.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:05.060 [debug] QUERY OK source="settings" db=0.1ms 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 [] 14:11:05.060 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:11:05.060 [error] #PID<0.254839.0> running PinchflatWeb.Endpoint (connection #PID<0.254836.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/37/media/4078604/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/37/media/4078604/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/4078604/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254839.0>, params: %{}, path_info: ["sources", "37", "media", "4078604", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/37/media/4078604/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIqE4pHgbfddksAf08C"} ], 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.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/4078604/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/37/media/4078604/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/37/media/4078604/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254839.0>, params: %{}, path_info: ["sources", "37", "media", "4078604", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto (truncated) 14:11:05.588 [info] GET /sources/35/media/4011004/force_download 14:11:05.589 [debug] QUERY OK source="settings" db=0.1ms idle=668.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:05.589 [debug] QUERY OK source="settings" db=0.0ms idle=529.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:05.589 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:11:05.589 [error] #PID<0.254840.0> running PinchflatWeb.Endpoint (connection #PID<0.254836.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/35/media/4011004/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/35/media/4011004/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/35/media/4011004/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254840.0>, params: %{}, path_info: ["sources", "35", "media", "4011004", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/35/media/4011004/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIqE6nPOG2USVwAf09C"} ], 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.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/35/media/4011004/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/35/media/4011004/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/35/media/4011004/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254840.0>, params: %{}, path_info: ["sources", "35", "media", "4011004", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto (truncated) 14:11:05.990 [debug] Current batch of media processed. Will check again in 1000ms 14:11:06.594 [info] GET /sources/43/media/3933354/force_download 14:11:06.595 [debug] QUERY OK source="settings" db=0.1ms idle=1136.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:06.595 [debug] QUERY OK source="settings" db=0.2ms idle=1137.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:06.596 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:11:06.596 [error] #PID<0.254841.0> running PinchflatWeb.Endpoint (connection #PID<0.254836.0>, stream id 5) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/43/media/3933354/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/3933354/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3933354/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254841.0>, params: %{}, path_info: ["sources", "43", "media", "3933354", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/43/media/3933354/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIqE-XLvvT_j38Af0-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.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3933354/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/43/media/3933354/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/43/media/3933354/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254841.0>, params: %{}, path_info: ["sources", "43", "media", "3933354", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto (truncated) 14:11:06.991 [debug] Current batch of media processed. Will check again in 1000ms 14:11:07.519 [info] GET /sources/35/media/3793403/force_download 14:11:07.519 [debug] QUERY OK source="settings" db=0.1ms idle=924.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:07.520 [debug] QUERY OK source="settings" db=0.0ms idle=924.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:07.520 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:11:07.520 [error] #PID<0.254842.0> running PinchflatWeb.Endpoint (connection #PID<0.254836.0>, stream id 6) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/35/media/3793403/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/35/media/3793403/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/35/media/3793403/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254842.0>, params: %{}, path_info: ["sources", "35", "media", "3793403", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/35/media/3793403/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIqFBzl6gNlH5sAf0_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.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/35/media/3793403/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/35/media/3793403/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.254836.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/35/media/3793403/force_download", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 50300}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.254842.0>, params: %{}, path_info: ["sources", "35", "media", "3793403", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto (truncated) 14:11:07.992 [debug] Current batch of media processed. Will check again in 1000ms 14:11:08.993 [debug] Current batch of media processed. Will check again in 1000ms 14:11:09.995 [debug] Current batch of media processed. Will check again in 1000ms 14:11:10.995 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\n[Chapters]\n00:00:00 - Why are Mathematicians so mad?\n00:01:34 - WorkOS\n00:02:19 - Mathematical Misalignment\n00:03:55 - The Problems\n00:04:27 - No more Proof fanfair \n00:05:50 - Lean\n00:07:08 - Math Humans Can't Do\n00:10:00 - Perspectives\n00:11:38 - Four-minute mile\n00:13:53 - Heart & Understanding\n00:15:16 - Purpose\n00:15:47 - Reddit Weirdos\n00:16:33 - The Next Generation\n\nSources:\nOpenAI announcement: https://x.com/OpenAI/status/2107596713791767021\nFaster than n log n (AcerFur): https://x.com/AcerFur/status/2107606747972309163\nImproving n log n (Doug Colkitt): https://x.com/0xdoug/status/2107658319632433524\nhttps://x.com/0xdoug/status/2107832360527913445\nhttps://x.com/0xdoug/status/2107917690568327225\nhttps://x.com/0xdoug/status/2107994110644588859\nhttps://x.com/0xdoug/status/2108005950632214824\nFibonacci squares paper (David Budden): https://x.com/davidmbudden/status/2107646435659481548\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" => 1059, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100900_The Mathematics are Mad.mp4", "id" => "WXh4LF3zJ1Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WXh4LF3zJ1Q", "playlist_index" => 9, "timestamp" => 1791566239, "title" => "The Mathematics are Mad", "upload_date" => "20261009"} 14:11:10.996 [debug] QUERY OK source="sources" db=0.2ms idle=1537.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:11:10.996 [debug] QUERY OK source="sources" db=0.1ms idle=1537.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:11:10.999 [debug] QUERY OK source="media_items" db=3.0ms idle=1538.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-09 17:17:19Z], 37] 14:11:11.001 [debug] QUERY OK source="media_items" db=1.1ms idle=1073.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 vibe code your auth. Use WorkOS: https://trm.sh/workos\n\n[Chapters]\n00:00:00 - Why are Mathematicians so mad?\n00:01:34 - WorkOS\n00:02:19 - Mathematical Misalignment\n00:03:55 - The Problems\n00:04:27 - No more Proof fanfair \n00:05:50 - Lean\n00:07:08 - Math Humans Can't Do\n00:10:00 - Perspectives\n00:11:38 - Four-minute mile\n00:13:53 - Heart & Understanding\n00:15:16 - Purpose\n00:15:47 - Reddit Weirdos\n00:16:33 - The Next Generation\n\nSources:\nOpenAI announcement: https://x.com/OpenAI/status/2107596713791767021\nFaster than n log n (AcerFur): https://x.com/AcerFur/status/2107606747972309163\nImproving n log n (Doug Colkitt): https://x.com/0xdoug/status/2107658319632433524\nhttps://x.com/0xdoug/status/2107832360527913445\nhttps://x.com/0xdoug/status/2107917690568327225\nhttps://x.com/0xdoug/status/2107994110644588859\nhttps://x.com/0xdoug/status/2108005950632214824\nFibonacci squares paper (David Budden): https://x.com/davidmbudden/status/2107646435659481548\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 Mathematics are Mad", "58b64a3c-be8c-4cab-987a-2dd14d8a773e", "WXh4LF3zJ1Q", 1059, false, "https://www.youtube.com/watch?v=WXh4LF3zJ1Q", 9, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100900_The Mathematics are Mad.mp4", false, false, false, 37, [], 98, ~U[2026-10-09 17:17:19Z], ~U[2026-10-26 19:11:11Z], ~U[2026-10-26 19:11:11Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\n[Chapters]\n00:00:00 - Why are Mathematicians so mad?\n00:01:34 - WorkOS\n00:02:19 - Mathematical Misalignment\n00:03:55 - The Problems\n00:04:27 - No more Proof fanfair \n00:05:50 - Lean\n00:07:08 - Math Humans Can't Do\n00:10:00 - Perspectives\n00:11:38 - Four-minute mile\n00:13:53 - Heart & Understanding\n00:15:16 - Purpose\n00:15:47 - Reddit Weirdos\n00:16:33 - The Next Generation\n\nSources:\nOpenAI announcement: https://x.com/OpenAI/status/2107596713791767021\nFaster than n log n (AcerFur): https://x.com/AcerFur/status/2107606747972309163\nImproving n log n (Doug Colkitt): https://x.com/0xdoug/status/2107658319632433524\nhttps://x.com/0xdoug/status/2107832360527913445\nhttps://x.com/0xdoug/status/2107917690568327225\nhttps://x.com/0xdoug/status/2107994110644588859\nhttps://x.com/0xdoug/status/2108005950632214824\nFibonacci squares paper (David Budden): https://x.com/davidmbudden/status/2107646435659481548\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 Mathematics are Mad", "WXh4LF3zJ1Q", 1059, false, "https://www.youtube.com/watch?v=WXh4LF3zJ1Q", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100900_The Mathematics are Mad.mp4", false, 37, ~U[2026-10-09 17:17:19Z]] 14:11:11.002 [debug] QUERY OK source="sources" db=0.2ms idle=72.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:11:11.002 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 14:11:11.003 [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 [4113862] 14:11:11.003 [debug] Current batch of media processed. Will check again in 1000ms 14:11:12.005 [debug] Current batch of media processed. Will check again in 1000ms 14:11:13.005 [debug] Current batch of media processed. Will check again in 1000ms 14:11:14.007 [debug] Current batch of media processed. Will check again in 1000ms 14:11:15.007 [debug] Current batch of media processed. Will check again in 1000ms 14:11:16.008 [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.youtube.com/watch?v=4A_Kkb9w5bw\n- https://www.youtube.com/watch?v=86j8zOsmNFE&t=72s\n- https://www.youtube.com/watch?v=V7PYQCXdX3A \n- https://www.youtube.com/watch?v=IY2j_GPIqRA\n- https://www.youtube.com/watch?v=6ypXfodOu-s&t=657s \n- https://www.youtube.com/watch?v=JDJVDYwhlHI&t=529s \n- https://www.youtube.com/watch?v=DgJS2tQPGKQ \n- https://www.youtube.com/watch?v=N5lKoGH76JQ \n- https://devblogs.microsoft.com/oldnewthing/20100112-01/?p=15303/ \n- https://innovation.world/steve-ballmer-windows-1986/\n- https://www.upi.com/Archives/1982/04/27/800-phone-number-response-centers-grow-in-Nebraska-despite-recession/3307388728000/ \n\nTopics Covered:\n\n- Old Windows commercials\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" => 966, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100500_WTF Microsoft.mp4", "id" => "aS3XxRz03co", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aS3XxRz03co", "playlist_index" => 10, "timestamp" => 1791205210, "title" => "WTF Microsoft", "upload_date" => "20261005"} 14:11:16.009 [debug] QUERY OK source="sources" db=0.2ms idle=1550.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:11:16.009 [debug] QUERY OK source="sources" db=0.1ms idle=1550.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:11:16.013 [debug] QUERY OK source="media_items" db=3.0ms idle=1551.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-05 13:00:10Z], 37] 14:11:16.014 [debug] QUERY OK source="media_items" db=1.2ms idle=1079.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\nSources:\n\n- https://www.youtube.com/watch?v=4A_Kkb9w5bw\n- https://www.youtube.com/watch?v=86j8zOsmNFE&t=72s\n- https://www.youtube.com/watch?v=V7PYQCXdX3A \n- https://www.youtube.com/watch?v=IY2j_GPIqRA\n- https://www.youtube.com/watch?v=6ypXfodOu-s&t=657s \n- https://www.youtube.com/watch?v=JDJVDYwhlHI&t=529s \n- https://www.youtube.com/watch?v=DgJS2tQPGKQ \n- https://www.youtube.com/watch?v=N5lKoGH76JQ \n- https://devblogs.microsoft.com/oldnewthing/20100112-01/?p=15303/ \n- https://innovation.world/steve-ballmer-windows-1986/\n- https://www.upi.com/Archives/1982/04/27/800-phone-number-response-centers-grow-in-Nebraska-despite-recession/3307388728000/ \n\nTopics Covered:\n\n- Old Windows commercials\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", "WTF Microsoft", "d6bece80-6718-408f-ab20-62bd71395682", "aS3XxRz03co", 966, false, "https://www.youtube.com/watch?v=aS3XxRz03co", 10, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100500_WTF Microsoft.mp4", false, false, false, 37, [], 98, ~U[2026-10-05 13:00:10Z], ~U[2026-10-26 19:11:16Z], ~U[2026-10-26 19:11:16Z], "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.youtube.com/watch?v=4A_Kkb9w5bw\n- https://www.youtube.com/watch?v=86j8zOsmNFE&t=72s\n- https://www.youtube.com/watch?v=V7PYQCXdX3A \n- https://www.youtube.com/watch?v=IY2j_GPIqRA\n- https://www.youtube.com/watch?v=6ypXfodOu-s&t=657s \n- https://www.youtube.com/watch?v=JDJVDYwhlHI&t=529s \n- https://www.youtube.com/watch?v=DgJS2tQPGKQ \n- https://www.youtube.com/watch?v=N5lKoGH76JQ \n- https://devblogs.microsoft.com/oldnewthing/20100112-01/?p=15303/ \n- https://innovation.world/steve-ballmer-windows-1986/\n- https://www.upi.com/Archives/1982/04/27/800-phone-number-response-centers-grow-in-Nebraska-despite-recession/3307388728000/ \n\nTopics Covered:\n\n- Old Windows commercials\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", "WTF Microsoft", "aS3XxRz03co", 966, false, "https://www.youtube.com/watch?v=aS3XxRz03co", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100500_WTF Microsoft.mp4", false, 37, ~U[2026-10-05 13:00:10Z]] 14:11:16.015 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [37] 14:11:16.015 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:11:16.015 [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 [4078604] 14:11:16.015 [debug] Current batch of media processed. Will check again in 1000ms 14:11:17.017 [debug] Current batch of media processed. Will check again in 1000ms 14:11:18.017 [debug] Current batch of media processed. Will check again in 1000ms 14:11:19.019 [debug] Current batch of media processed. Will check again in 1000ms 14:11:20.019 [debug] Current batch of media processed. Will check again in 1000ms 14:11:21.021 [debug] Current batch of media processed. Will check again in 1000ms 14:11:22.021 [debug] Current batch of media processed. Will check again in 1000ms 14:11:23.022 [debug] Current batch of media processed. Will check again in 1000ms 14:11:24.023 [debug] Current batch of media processed. Will check again in 1000ms 14:11:25.024 [debug] Current batch of media processed. Will check again in 1000ms 14:11:26.026 [debug] Current batch of media processed. Will check again in 1000ms 14:11:27.027 [debug] Current batch of media processed. Will check again in 1000ms 14:11:28.027 [debug] Current batch of media processed. Will check again in 1000ms 14:11:29.028 [debug] Current batch of media processed. Will check again in 1000ms 14:11:30.030 [debug] Current batch of media processed. Will check again in 1000ms 14:11:30.368 [info] {"source":"oban","duration":9279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:31.030 [debug] Current batch of media processed. Will check again in 1000ms 14:11:32.031 [debug] Current batch of media processed. Will check again in 1000ms 14:11:32.440 [info] GET /sources/19 14:11:32.440 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "19"} Pipelines: [:browser] 14:11:32.440 [debug] QUERY OK source="sources" db=0.1ms idle=982.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:11:32.441 [debug] QUERY OK source="media_profiles" db=0.1ms idle=982.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 14:11:32.443 [debug] QUERY OK source="tasks" db=2.1ms idle=982.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 (?,?,?,?)) [19, "executing", "available", "scheduled", "retryable"] 14:11:32.443 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=984.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" = ?) [540396] 14:11:32.444 [debug] QUERY OK source="settings" db=0.1ms idle=483.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:11:32.444 [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 [] 14:11:32.444 [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 [] 14:11:32.445 [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" = ?) [19] 14:11:32.446 [debug] QUERY OK source="media_items" db=0.5ms idle=1.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [19] 14:11:32.446 [debug] QUERY OK source="media_items" db=0.7ms 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 ? [19, 10, 0] 14:11:32.447 [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" = ?) [19] 14:11:32.447 [debug] QUERY OK source="media_items" db=0.1ms idle=2.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [19] 14:11:32.447 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [19, 10, 0] 14:11:32.448 [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" = ?) [19] 14:11:32.449 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 14:11:32.450 [debug] QUERY OK source="media_items" db=0.7ms idle=2.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [19, 10, 0] 14:11:32.451 [info] Sent 200 in 10ms 14:11:33.032 [debug] Current batch of media processed. Will check again in 1000ms 14:11:34.033 [debug] Current batch of media processed. Will check again in 1000ms 14:11:35.034 [debug] Current batch of media processed. Will check again in 1000ms 14:11:36.035 [debug] Current batch of media processed. Will check again in 1000ms 14:11:37.036 [debug] Current batch of media processed. Will check again in 1000ms 14:11:38.037 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sandbox aren't enough. Your agents need a devbox. A full development environment with all your dependencies. https://trm.sh/namespace\n\nSources:\n\n- https://openai.com/index/devday-2026-recap/\n- https://openai.com/index/introducing-dots/\n- https://openai.com/index/cerebras-partnership/\n- https://openai.com/index/previewing-ultrafast/\n- https://www.cerebras.ai/blog/accelerating-gpt-5-6-sol-ultrafast-with-openai\n- https://www.reuters.com/technology/openai-buy-compute-capacity-startup-cerebras-around-10-billion-wsj-reports-2026-01-14/\n- https://www.reuters.com/business/openai-shelves-new-ai-model-after-internal-safety-tests-wsj-reports-2026-09-28/\n- https://help.openai.com/en/articles/9793128\n- https://x.com/thsottiaux/status/2104823812042940713\n- https://x.com/SemiAnalysis_/status/2105055045959995719\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" => 799, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100300_A total disaster.mp4", "id" => "p0fybvFyOlM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=p0fybvFyOlM", "playlist_index" => 11, "timestamp" => 1790999311, "title" => "A total disaster", "upload_date" => "20261003"} 14:11:38.038 [debug] QUERY OK source="sources" db=0.2ms idle=579.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:11:38.038 [debug] QUERY OK source="sources" db=0.2ms idle=579.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:11:38.041 [debug] QUERY OK source="media_items" db=3.0ms idle=580.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-03 03:48:31Z], 37] 14:11:38.043 [debug] QUERY OK source="media_items" db=1.2ms idle=583.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" ["Sandbox aren't enough. Your agents need a devbox. A full development environment with all your dependencies. https://trm.sh/namespace\n\nSources:\n\n- https://openai.com/index/devday-2026-recap/\n- https://openai.com/index/introducing-dots/\n- https://openai.com/index/cerebras-partnership/\n- https://openai.com/index/previewing-ultrafast/\n- https://www.cerebras.ai/blog/accelerating-gpt-5-6-sol-ultrafast-with-openai\n- https://www.reuters.com/technology/openai-buy-compute-capacity-startup-cerebras-around-10-billion-wsj-reports-2026-01-14/\n- https://www.reuters.com/business/openai-shelves-new-ai-model-after-internal-safety-tests-wsj-reports-2026-09-28/\n- https://help.openai.com/en/articles/9793128\n- https://x.com/thsottiaux/status/2104823812042940713\n- https://x.com/SemiAnalysis_/status/2105055045959995719\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", "A total disaster", "c5cc2e80-52a0-46d5-9137-74e52a13131a", "p0fybvFyOlM", 799, false, "https://www.youtube.com/watch?v=p0fybvFyOlM", 11, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100300_A total disaster.mp4", false, false, false, 37, [], 98, ~U[2026-10-03 03:48:31Z], ~U[2026-10-26 19:11:38Z], ~U[2026-10-26 19:11:38Z], "Sandbox aren't enough. Your agents need a devbox. A full development environment with all your dependencies. https://trm.sh/namespace\n\nSources:\n\n- https://openai.com/index/devday-2026-recap/\n- https://openai.com/index/introducing-dots/\n- https://openai.com/index/cerebras-partnership/\n- https://openai.com/index/previewing-ultrafast/\n- https://www.cerebras.ai/blog/accelerating-gpt-5-6-sol-ultrafast-with-openai\n- https://www.reuters.com/technology/openai-buy-compute-capacity-startup-cerebras-around-10-billion-wsj-reports-2026-01-14/\n- https://www.reuters.com/business/openai-shelves-new-ai-model-after-internal-safety-tests-wsj-reports-2026-09-28/\n- https://help.openai.com/en/articles/9793128\n- https://x.com/thsottiaux/status/2104823812042940713\n- https://x.com/SemiAnalysis_/status/2105055045959995719\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", "A total disaster", "p0fybvFyOlM", 799, false, "https://www.youtube.com/watch?v=p0fybvFyOlM", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100300_A total disaster.mp4", false, 37, ~U[2026-10-03 03:48:31Z]] 14:11:38.044 [debug] QUERY OK source="sources" db=0.7ms idle=77.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:11:38.044 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:11:38.045 [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 [4062856] 14:11:38.045 [debug] Current batch of media processed. Will check again in 1000ms 14:11:39.045 [debug] Current batch of media processed. Will check again in 1000ms 14:11:40.046 [debug] Current batch of media processed. Will check again in 1000ms 14:11:41.047 [debug] Current batch of media processed. Will check again in 1000ms 14:11:42.048 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. \nhttps://trm.sh/namespace-github-actions\n\nLike this video check out the playlist here: https://www.youtube.com/playlist?list=PLV5iO6tVgf1s\n\nChapters:\n00:00 - Intro\n01:18 - Namespace\n02:04 - Early life & Education\n02:52 - Quick Sort\n04:48 - Elliot Brothers\n05:58 - ALGOL W (billion dollar mistake)\n07:06 - the true cost of nul pointer\n08:20 - Communicating Sequential Processes (CSP)\n10:14 - Quotes\n11:21 - Sir Tony Hoare\n12:00 - Outro\n\nSources:\n\n- https://en.wikipedia.org/wiki/Quicksort\n- https://en.wikipedia.org/wiki/Hoare_logic\n- https://en.wikipedia.org/wiki/Communicating_sequential_processes\n- https://en.wikipedia.org/wiki/Null_pointer#History\n- https://en.wikipedia.org/wiki/Unifying_Theories_of_Programming\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" => 734, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092900_He Realized his Mistake.mp4", "id" => "jF3W7EkXd4k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jF3W7EkXd4k", "playlist_index" => 12, "timestamp" => 1790695496, "title" => "He Realized his Mistake", "upload_date" => "20260929"} 14:11:42.049 [debug] QUERY OK source="sources" db=0.2ms idle=590.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:11:42.049 [debug] QUERY OK source="sources" db=0.1ms idle=591.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:11:42.053 [debug] QUERY OK source="media_items" db=3.0ms idle=591.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-29 15:24:56Z], 37] 14:11:42.054 [debug] QUERY OK source="media_items" db=1.2ms idle=594.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" ["Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. \nhttps://trm.sh/namespace-github-actions\n\nLike this video check out the playlist here: https://www.youtube.com/playlist?list=PLV5iO6tVgf1s\n\nChapters:\n00:00 - Intro\n01:18 - Namespace\n02:04 - Early life & Education\n02:52 - Quick Sort\n04:48 - Elliot Brothers\n05:58 - ALGOL W (billion dollar mistake)\n07:06 - the true cost of nul pointer\n08:20 - Communicating Sequential Processes (CSP)\n10:14 - Quotes\n11:21 - Sir Tony Hoare\n12:00 - Outro\n\nSources:\n\n- https://en.wikipedia.org/wiki/Quicksort\n- https://en.wikipedia.org/wiki/Hoare_logic\n- https://en.wikipedia.org/wiki/Communicating_sequential_processes\n- https://en.wikipedia.org/wiki/Null_pointer#History\n- https://en.wikipedia.org/wiki/Unifying_Theories_of_Programming\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", "He Realized his Mistake", "3e1abadb-2cbd-4378-b5d3-175a51b0bd1a", "jF3W7EkXd4k", 734, false, "https://www.youtube.com/watch?v=jF3W7EkXd4k", 12, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092900_He Realized his Mistake.mp4", false, false, false, 37, [], 98, ~U[2026-09-29 15:24:56Z], ~U[2026-10-26 19:11:42Z], ~U[2026-10-26 19:11:42Z], "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. \nhttps://trm.sh/namespace-github-actions\n\nLike this video check out the playlist here: https://www.youtube.com/playlist?list=PLV5iO6tVgf1s\n\nChapters:\n00:00 - Intro\n01:18 - Namespace\n02:04 - Early life & Education\n02:52 - Quick Sort\n04:48 - Elliot Brothers\n05:58 - ALGOL W (billion dollar mistake)\n07:06 - the true cost of nul pointer\n08:20 - Communicating Sequential Processes (CSP)\n10:14 - Quotes\n11:21 - Sir Tony Hoare\n12:00 - Outro\n\nSources:\n\n- https://en.wikipedia.org/wiki/Quicksort\n- https://en.wikipedia.org/wiki/Hoare_logic\n- https://en.wikipedia.org/wiki/Communicating_sequential_processes\n- https://en.wikipedia.org/wiki/Null_pointer#History\n- https://en.wikipedia.org/wiki/Unifying_Theories_of_Programming\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", "He Realized his Mistake", "jF3W7EkXd4k", 734, false, "https://www.youtube.com/watch?v=jF3W7EkXd4k", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092900_He Realized his Mistake.mp4", false, 37, ~U[2026-09-29 15:24:56Z]] 14:11:42.055 [debug] QUERY OK source="sources" db=0.2ms idle=83.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:11:42.055 [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] 14:11:42.056 [debug] QUERY OK source="media_items" db=0.2ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4034594] 14:11:42.056 [debug] Current batch of media processed. Will check again in 1000ms 14:11:43.056 [debug] Current batch of media processed. Will check again in 1000ms 14:11:44.057 [debug] Current batch of media processed. Will check again in 1000ms 14:11:45.058 [debug] Current batch of media processed. Will check again in 1000ms 14:11:46.059 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/Ag3nn9BgWP0\nSpotify: https://open.spotify.com/episode/1A82BUfwmLOUtZZwuaOOqs\n\n[Description]\nLegendary programmer and game developer Casey Muratori ruthlessly judges the digging games we made!\n\n[Chapters]\n00:00:00 - Digging Games Intro\n00:03:39 - Linear\n00:04:18 - Trash has things to say\n00:07:04 - Trash’s first game ideas\n00:16:54 - Trash’s Digging game\n00:21:35 - qwerop\n00:28:24 - Teej’s first game (Receipts app the game)\n00:36:40 - Prime’s Game\n00:41:25 - Teej’s Digging Game\n00:46:23 - Casey’s Judgement\n00:54:11 - Outro\n\n[Sources]\nTrash Games\nhttps://qwerop.com\n\nTeej Games\nhttps://dig-deep.trm.sh/\nhttps://gravel-empire.trm.sh/\n\nPrime Games\nhttps://beatdig.trm.sh/\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nDHH: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nCasey Muratori, game development, gamedev, indie game dev, game design, coding, game programming, TheStandupPod, digging games, game review, programming challenge, indie dev showcase", "duration" => 3277, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092700_Casey Muratori Judges Our Digging Games | TheStandup.mp4", "id" => "W9-UG1hvMYs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W9-UG1hvMYs", "playlist_index" => 13, "timestamp" => 1790514001, "title" => "Casey Muratori Judges Our Digging Games | TheStandup", "upload_date" => "20260927"} 14:11:46.060 [debug] QUERY OK source="sources" db=0.3ms idle=601.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:11:46.061 [debug] QUERY OK source="sources" db=0.1ms idle=602.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:11:46.064 [debug] QUERY OK source="media_items" db=3.0ms idle=602.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-27 13:00:01Z], 37] 14:11:46.066 [debug] QUERY OK source="media_items" db=1.4ms idle=605.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" ["[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/Ag3nn9BgWP0\nSpotify: https://open.spotify.com/episode/1A82BUfwmLOUtZZwuaOOqs\n\n[Description]\nLegendary programmer and game developer Casey Muratori ruthlessly judges the digging games we made!\n\n[Chapters]\n00:00:00 - Digging Games Intro\n00:03:39 - Linear\n00:04:18 - Trash has things to say\n00:07:04 - Trash’s first game ideas\n00:16:54 - Trash’s Digging game\n00:21:35 - qwerop\n00:28:24 - Teej’s first game (Receipts app the game)\n00:36:40 - Prime’s Game\n00:41:25 - Teej’s Digging Game\n00:46:23 - Casey’s Judgement\n00:54:11 - Outro\n\n[Sources]\nTrash Games\nhttps://qwerop.com\n\nTeej Games\nhttps://dig-deep.trm.sh/\nhttps://gravel-empire.trm.sh/\n\nPrime Games\nhttps://beatdig.trm.sh/\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nDHH: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nCasey Muratori, game development, gamedev, indie game dev, game design, coding, game programming, TheStandupPod, digging games, game review, programming challenge, indie dev showcase", "Casey Muratori Judges Our Digging Games | TheStandup", "f8772f82-1e05-44b4-ab97-c7c9452ae8a6", "W9-UG1hvMYs", 3277, false, "https://www.youtube.com/watch?v=W9-UG1hvMYs", 13, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092700_Casey Muratori Judges Our Digging Games | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-09-27 13:00:01Z], ~U[2026-10-26 19:11:46Z], ~U[2026-10-26 19:11:46Z], "[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/Ag3nn9BgWP0\nSpotify: https://open.spotify.com/episode/1A82BUfwmLOUtZZwuaOOqs\n\n[Description]\nLegendary programmer and game developer Casey Muratori ruthlessly judges the digging games we made!\n\n[Chapters]\n00:00:00 - Digging Games Intro\n00:03:39 - Linear\n00:04:18 - Trash has things to say\n00:07:04 - Trash’s first game ideas\n00:16:54 - Trash’s Digging game\n00:21:35 - qwerop\n00:28:24 - Teej’s first game (Receipts app the game)\n00:36:40 - Prime’s Game\n00:41:25 - Teej’s Digging Game\n00:46:23 - Casey’s Judgement\n00:54:11 - Outro\n\n[Sources]\nTrash Games\nhttps://qwerop.com\n\nTeej Games\nhttps://dig-deep.trm.sh/\nhttps://gravel-empire.trm.sh/\n\nPrime Games\nhttps://beatdig.trm.sh/\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nDHH: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nCasey Muratori, game development, gamedev, indie game dev, game design, coding, game programming, TheStandupPod, digging games, game review, programming challenge, indie dev showcase", "Casey Muratori Judges Our Digging Games | TheStandup", "W9-UG1hvMYs", 3277, false, "https://www.youtube.com/watch?v=W9-UG1hvMYs", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092700_Casey Muratori Judges Our Digging Games | TheStandup.mp4", false, 37, ~U[2026-09-27 13:00:01Z]] 14:11:46.066 [debug] QUERY OK source="sources" db=0.2ms idle=90.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:11:46.066 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:11:46.067 [debug] QUERY OK source="media_items" db=0.2ms 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 [4018455] 14:11:46.067 [debug] Current batch of media processed. Will check again in 1000ms 14:11:47.067 [debug] Current batch of media processed. Will check again in 1000ms 14:11:48.068 [debug] Current batch of media processed. Will check again in 1000ms 14:11:49.069 [debug] Current batch of media processed. Will check again in 1000ms 14:11:50.070 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- Primary: https://x.com/CompleteSkeptic/status/2099925682726002904\n- Mau Baron demo: https://x.com/maubaron/status/2100738237237002706\n- Feed filter ext: https://x.com/marcelpociot/status/2100520134481735729\n- WhatsApp scam radar: https://x.com/itscellou/status/2101721165719089434\n- Flights browser agent: https://x.com/opc0de3/status/2100582579565105561\n- More X demos listed under Resources → Coolest Demos\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" => 727, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092500_Computer Use is Solved?.mp4", "id" => "BHPDsGVciDk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BHPDsGVciDk", "playlist_index" => 14, "timestamp" => 1790356997, "title" => "Computer Use is Solved?", "upload_date" => "20260925"} 14:11:50.071 [debug] QUERY OK source="sources" db=0.2ms idle=612.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:11:50.071 [debug] QUERY OK source="sources" db=0.1ms idle=612.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:11:50.074 [debug] QUERY OK source="media_items" db=2.6ms idle=613.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-25 17:23:17Z], 37] 14:11:50.075 [debug] QUERY OK source="media_items" db=0.8ms idle=615.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" ["Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- Primary: https://x.com/CompleteSkeptic/status/2099925682726002904\n- Mau Baron demo: https://x.com/maubaron/status/2100738237237002706\n- Feed filter ext: https://x.com/marcelpociot/status/2100520134481735729\n- WhatsApp scam radar: https://x.com/itscellou/status/2101721165719089434\n- Flights browser agent: https://x.com/opc0de3/status/2100582579565105561\n- More X demos listed under Resources → Coolest Demos\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", "Computer Use is Solved?", "182ed2a2-6ae9-42c6-b599-09b6b45bf0d9", "BHPDsGVciDk", 727, false, "https://www.youtube.com/watch?v=BHPDsGVciDk", 14, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092500_Computer Use is Solved?.mp4", false, false, false, 37, [], 97, ~U[2026-09-25 17:23:17Z], ~U[2026-10-26 19:11:50Z], ~U[2026-10-26 19:11:50Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- Primary: https://x.com/CompleteSkeptic/status/2099925682726002904\n- Mau Baron demo: https://x.com/maubaron/status/2100738237237002706\n- Feed filter ext: https://x.com/marcelpociot/status/2100520134481735729\n- WhatsApp scam radar: https://x.com/itscellou/status/2101721165719089434\n- Flights browser agent: https://x.com/opc0de3/status/2100582579565105561\n- More X demos listed under Resources → Coolest Demos\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", "Computer Use is Solved?", "BHPDsGVciDk", 727, false, "https://www.youtube.com/watch?v=BHPDsGVciDk", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092500_Computer Use is Solved?.mp4", false, 37, ~U[2026-09-25 17:23:17Z]] 14:11:50.075 [debug] QUERY OK source="sources" db=0.1ms idle=94.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:11:50.076 [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] 14:11:50.076 [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 [4000904] 14:11:50.076 [debug] Current batch of media processed. Will check again in 1000ms 14:11:51.076 [debug] Current batch of media processed. Will check again in 1000ms 14:11:52.077 [debug] Current batch of media processed. Will check again in 1000ms 14:11:53.078 [debug] Current batch of media processed. Will check again in 1000ms 14:11:54.079 [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- https://x.com/v0xium/status/2101526107128529120\n- https://x.com/JonathanRoss321/status/2049901596054798774\n- https://x.com/mitchellh/status/2100249348345057389\n- https://x.com/nicbarkeragain/status/2100345337831711083\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" => 596, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092300_They can’t take it anymore.mp4", "id" => "iuccfEQgIeY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iuccfEQgIeY", "playlist_index" => 15, "timestamp" => 1790164829, "title" => "They can’t take it anymore", "upload_date" => "20260923"} 14:11:54.080 [debug] QUERY OK source="sources" db=0.1ms idle=621.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:11:54.080 [debug] QUERY OK source="sources" db=0.0ms idle=621.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:11:54.082 [debug] QUERY OK source="media_items" db=2.3ms idle=621.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-23 12:00:29Z], 37] 14:11:54.084 [debug] QUERY OK source="media_items" db=1.3ms idle=624.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" ["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- https://x.com/v0xium/status/2101526107128529120\n- https://x.com/JonathanRoss321/status/2049901596054798774\n- https://x.com/mitchellh/status/2100249348345057389\n- https://x.com/nicbarkeragain/status/2100345337831711083\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 can’t take it anymore", "7dc4f27d-d5eb-4538-9b10-ea02df30c975", "iuccfEQgIeY", 596, false, "https://www.youtube.com/watch?v=iuccfEQgIeY", 15, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092300_They can’t take it anymore.mp4", false, false, false, 37, [], 98, ~U[2026-09-23 12:00:29Z], ~U[2026-10-26 19:11:54Z], ~U[2026-10-26 19:11:54Z], "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- https://x.com/v0xium/status/2101526107128529120\n- https://x.com/JonathanRoss321/status/2049901596054798774\n- https://x.com/mitchellh/status/2100249348345057389\n- https://x.com/nicbarkeragain/status/2100345337831711083\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 can’t take it anymore", "iuccfEQgIeY", 596, false, "https://www.youtube.com/watch?v=iuccfEQgIeY", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092300_They can’t take it anymore.mp4", false, 37, ~U[2026-09-23 12:00:29Z]] 14:11:54.084 [debug] QUERY OK source="sources" db=0.1ms idle=98.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:11:54.085 [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] 14:11:54.085 [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 [3989434] 14:11:54.085 [debug] Current batch of media processed. Will check again in 1000ms 14:11:55.086 [debug] Current batch of media processed. Will check again in 1000ms 14:11:56.087 [debug] Current batch of media processed. Will check again in 1000ms 14:11:57.088 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://x.com/hilbertspaess/status/2097476196791709843\n- https://x.com/hilbertspaess/status/2099960188702957776\n- https://x.com/EvanHub/status/2097497037956891126\n- https://www.axios.com/2025/09/17/anthropic-dario-amodei-p-doom-25-percent\n- https://darioamodei.com/post/we-must-pace-the-frontier\n- https://x.com/ParkerThayer/status/2097759699626328575\n\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" => 870, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091900_I can’t believe this is happening.mp4", "id" => "W8IVKMGbUZE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W8IVKMGbUZE", "playlist_index" => 16, "timestamp" => 1789782248, "title" => "I can’t believe this is happening", "upload_date" => "20260919"} 14:11:57.089 [debug] QUERY OK source="sources" db=0.1ms idle=1630.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:11:57.089 [debug] QUERY OK source="sources" db=0.1ms idle=1630.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:11:57.092 [debug] QUERY OK source="media_items" db=2.4ms idle=1630.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-19 01:44:08Z], 37] 14:11:57.094 [debug] QUERY OK source="media_items" db=1.5ms idle=1104.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" ["Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://x.com/hilbertspaess/status/2097476196791709843\n- https://x.com/hilbertspaess/status/2099960188702957776\n- https://x.com/EvanHub/status/2097497037956891126\n- https://www.axios.com/2025/09/17/anthropic-dario-amodei-p-doom-25-percent\n- https://darioamodei.com/post/we-must-pace-the-frontier\n- https://x.com/ParkerThayer/status/2097759699626328575\n\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 can’t believe this is happening", "3dd47cce-2256-40c5-a822-84825dde5896", "W8IVKMGbUZE", 870, false, "https://www.youtube.com/watch?v=W8IVKMGbUZE", 16, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091900_I can’t believe this is happening.mp4", false, false, false, 37, [], 98, ~U[2026-09-19 01:44:08Z], ~U[2026-10-26 19:11:57Z], ~U[2026-10-26 19:11:57Z], "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://x.com/hilbertspaess/status/2097476196791709843\n- https://x.com/hilbertspaess/status/2099960188702957776\n- https://x.com/EvanHub/status/2097497037956891126\n- https://www.axios.com/2025/09/17/anthropic-dario-amodei-p-doom-25-percent\n- https://darioamodei.com/post/we-must-pace-the-frontier\n- https://x.com/ParkerThayer/status/2097759699626328575\n\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 can’t believe this is happening", "W8IVKMGbUZE", 870, false, "https://www.youtube.com/watch?v=W8IVKMGbUZE", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091900_I can’t believe this is happening.mp4", false, 37, ~U[2026-09-19 01:44:08Z]] 14:11:57.094 [debug] QUERY OK source="sources" db=0.1ms idle=104.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:11:57.094 [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] 14:11:57.094 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3954825] 14:11:57.095 [debug] Current batch of media processed. Will check again in 1000ms 14:11:58.095 [debug] Current batch of media processed. Will check again in 1000ms 14:11:59.096 [debug] Current batch of media processed. Will check again in 1000ms 14:12:00.097 [debug] Current batch of media processed. Will check again in 1000ms 14:12:00.286 [info] {"source":"oban","duration":147,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:12:00.377 [info] {"source":"oban","duration":7504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:01.098 [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- https://www.benjoffe.com/fast-day-of-week\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" => 680, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091700_The Date Hack.mp4", "id" => "0UiMf5dV4_Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0UiMf5dV4_Y", "playlist_index" => 17, "timestamp" => 1789646415, "title" => "The Date Hack", "upload_date" => "20260917"} 14:12:01.099 [debug] QUERY OK source="sources" db=0.1ms idle=812.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:12:01.099 [debug] QUERY OK source="sources" db=0.1ms idle=722.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:12:01.101 [debug] QUERY OK source="media_items" db=2.4ms idle=640.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-17 12:00:15Z], 37] 14:12:01.103 [debug] QUERY OK source="media_items" db=1.4ms idle=643.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" ["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- https://www.benjoffe.com/fast-day-of-week\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 Date Hack", "37ac5a0e-0bdf-408b-87bd-bc09ca3f27b0", "0UiMf5dV4_Y", 680, false, "https://www.youtube.com/watch?v=0UiMf5dV4_Y", 17, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091700_The Date Hack.mp4", false, false, false, 37, [], 98, ~U[2026-09-17 12:00:15Z], ~U[2026-10-26 19:12:01Z], ~U[2026-10-26 19:12:01Z], "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- https://www.benjoffe.com/fast-day-of-week\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 Date Hack", "0UiMf5dV4_Y", 680, false, "https://www.youtube.com/watch?v=0UiMf5dV4_Y", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091700_The Date Hack.mp4", false, 37, ~U[2026-09-17 12:00:15Z]] 14:12:01.104 [debug] QUERY OK source="sources" db=0.1ms idle=109.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:12:01.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] 14:12:01.105 [debug] QUERY OK source="media_items" db=0.6ms 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 [3939189] 14:12:01.105 [debug] Current batch of media processed. Will check again in 1000ms 14:12:02.105 [debug] Current batch of media processed. Will check again in 1000ms 14:12:03.106 [debug] Current batch of media processed. Will check again in 1000ms 14:12:04.107 [debug] Current batch of media processed. Will check again in 1000ms 14:12:05.108 [debug] Current batch of media processed. Will check again in 1000ms 14:12:06.109 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://artificialanalysis.ai/\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" => 666, "filename" => "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091500_How are they Losing so Bad.mp4", "id" => "d3Gjq-BffuI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d3Gjq-BffuI", "playlist_index" => 18, "timestamp" => 1789473623, "title" => "How are they Losing so Bad", "upload_date" => "20260915"} 14:12:06.110 [debug] QUERY OK source="sources" db=0.2ms idle=1651.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:12:06.110 [debug] QUERY OK source="sources" db=0.1ms idle=1652.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:12:06.114 [debug] QUERY OK source="media_items" db=3.1ms idle=1652.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-15 12:00:23Z], 37] 14:12:06.115 [debug] QUERY OK source="media_items" db=0.8ms idle=1115.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 vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://artificialanalysis.ai/\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "How are they Losing so Bad", "e68ab925-04de-46d6-9298-bd3f19bf9189", "d3Gjq-BffuI", 666, false, "https://www.youtube.com/watch?v=d3Gjq-BffuI", 18, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091500_How are they Losing so Bad.mp4", false, false, false, 37, [], 98, ~U[2026-09-15 12:00:23Z], ~U[2026-10-26 19:12:06Z], ~U[2026-10-26 19:12:06Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://artificialanalysis.ai/\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "How are they Losing so Bad", "d3Gjq-BffuI", 666, false, "https://www.youtube.com/watch?v=d3Gjq-BffuI", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091500_How are they Losing so Bad.mp4", false, 37, ~U[2026-09-15 12:00:23Z]] 14:12:06.115 [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" = ?) [37] 14:12:06.116 [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] 14:12:06.116 [debug] QUERY OK source="media_items" db=0.2ms 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 [3923841] 14:12:06.116 [debug] Current batch of media processed. Will check again in 1000ms 14:12:07.117 [debug] Current batch of media processed. Will check again in 1000ms 14:12:08.118 [debug] Current batch of media processed. Will check again in 1000ms 14:12:09.119 [debug] Current batch of media processed. Will check again in 1000ms 14:12:09.598 [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/e8/93/e893d5175964c905ec7b8c92ca7d33d32737e9b0097b01be5321fae8a78db9c6.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/94/c0/94c0339636f308a96b2d11d3179c13beb68a38365ba30bb6f4df051c914a0515.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 14:12:09.599 [debug] Gracefully stopping file follower 14:12:09.599 [debug] QUERY OK source="sources" db=0.3ms idle=596.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [37] 14:12:09.599 [debug] QUERY OK source="sources" db=0.1ms idle=141.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 14:12:09.602 [debug] QUERY OK source="media_items" db=2.6ms idle=141.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-25 13:00:13Z], 37] 14:12:09.604 [debug] QUERY OK source="media_items" db=1.0ms idle=144.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" ["[Sponsor]\nGood morning! And in case we don't see ya, good afternoon, good evening, and good coffee! → ssh terminal.shop\n\nFull Episode:\nYoutube: https://youtu.be/Aw5rcawuxDQ\nSpotify: https://open.spotify.com/episode/5o8f1oGoPyfIKJPVL4PW9c\n\n[Description]\nThe number 4 is holding up the internet, HTTPS might be bad design, PHP is cooked, and Casey is addicted to Pokémon. The crew also ranks programming's most famous laws, from Conway and Brooks to Goodhart and Hofstadter, before inventing a few laws of their own.\n\n[Chapters]\n00:00:00 - Tier listing Programming Laws\n00:00:46 - Conway\n00:06:16 - Brooks\n00:13:54 - Mooers\n00:18:35 - Eagleson\n00:21:58 - Linus\n00:29:06 - Wirth\n00:30:45 - Cunningham\n00:35:06 - Goodhart\n00:46:59 - Hyrum\n00:48:16 - Hofstadter\n00:50:08 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Trash Dev, Casey Muratori, programming, software engineering, programming laws, Conway's Law, Brooks's Law, Goodhart's Law, Linus's Law, Hyrum's Law, Hofstadter's Law, Cunningham's Law, PHP, HTTPS, SSL certificates, certificate authority, eMudhra, cybersecurity, programming humor, developer podcast, software development, coding, tech podcast, Pokémon", "Programming Laws Tier list | TheStandup", "dc6cc558-69d5-4904-9791-00d70f5e7799", "Bye5avxGMKM", 3035, false, "https://www.youtube.com/watch?v=Bye5avxGMKM", 1, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102500_Programming Laws Tier list | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-10-25 13:00:13Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "[Sponsor]\nGood morning! And in case we don't see ya, good afternoon, good evening, and good coffee! → ssh terminal.shop\n\nFull Episode:\nYoutube: https://youtu.be/Aw5rcawuxDQ\nSpotify: https://open.spotify.com/episode/5o8f1oGoPyfIKJPVL4PW9c\n\n[Description]\nThe number 4 is holding up the internet, HTTPS might be bad design, PHP is cooked, and Casey is addicted to Pokémon. The crew also ranks programming's most famous laws, from Conway and Brooks to Goodhart and Hofstadter, before inventing a few laws of their own.\n\n[Chapters]\n00:00:00 - Tier listing Programming Laws\n00:00:46 - Conway\n00:06:16 - Brooks\n00:13:54 - Mooers\n00:18:35 - Eagleson\n00:21:58 - Linus\n00:29:06 - Wirth\n00:30:45 - Cunningham\n00:35:06 - Goodhart\n00:46:59 - Hyrum\n00:48:16 - Hofstadter\n00:50:08 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Trash Dev, Casey Muratori, programming, software engineering, programming laws, Conway's Law, Brooks's Law, Goodhart's Law, Linus's Law, Hyrum's Law, Hofstadter's Law, Cunningham's Law, PHP, HTTPS, SSL certificates, certificate authority, eMudhra, cybersecurity, programming humor, developer podcast, software development, coding, tech podcast, Pokémon", "Programming Laws Tier list | TheStandup", "Bye5avxGMKM", 3035, false, "https://www.youtube.com/watch?v=Bye5avxGMKM", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102500_Programming Laws Tier list | TheStandup.mp4", false, 37, ~U[2026-10-25 13:00:13Z]] 14:12:09.604 [debug] QUERY OK source="sources" db=0.1ms idle=145.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:12:09.606 [debug] QUERY OK source="media_items" db=2.3ms 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-10-24 02:58:57Z], 37] 14:12:09.627 [debug] QUERY OK source="media_items" db=19.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" ["Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://www.anthropic.com/threat-intelligence-report-september-2026\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", "OpenCode got hacked", "be6c4876-5953-4d7b-b34a-0eaf9c7a76f4", "9OahTki4cPA", 771, false, "https://www.youtube.com/watch?v=9OahTki4cPA", 2, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102400_OpenCode got hacked.mp4", false, false, false, 37, [], 98, ~U[2026-10-24 02:58:57Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://www.anthropic.com/threat-intelligence-report-september-2026\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", "OpenCode got hacked", "9OahTki4cPA", 771, false, "https://www.youtube.com/watch?v=9OahTki4cPA", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102400_OpenCode got hacked.mp4", false, 37, ~U[2026-10-24 02:58:57Z]] 14:12:09.627 [debug] QUERY OK source="sources" db=0.4ms idle=24.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:12:09.630 [debug] QUERY OK source="media_items" db=2.2ms idle=23.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 12:42:47Z], 37] 14:12:09.634 [debug] QUERY OK source="media_items" db=4.2ms 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" ["I forget everything. Grok Bot doesn't. It runs my calendar, my reminders, and my to-do list. And my wife is happier. Try Grok Bot: https://trm.sh/bot\n\nSources:\n\n- https://x.com/markjaquith/status/2112700200829759970\n- https://x.com/hd_nvim/status/2112943574320820401\n- https://x.com/otomir23/status/2112697830687047918\n- https://fenko.nz/blog/emudhra-ca-compromise/?utm_source=chatgpt.com\n- https://emudhra.we-have-a-problem.com/?utm_source=chatgpt.com#macos-curl\n\nTopics Covered:\n\n- The eMudhra Hack\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", "There Is No Way This Is Real", "790febe6-5aa4-4edd-91ed-460ce30bb9ce", "O905JwSgoi4", 511, false, "https://www.youtube.com/watch?v=O905JwSgoi4", 3, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102200_There Is No Way This Is Real.mp4", false, false, false, 37, [], 98, ~U[2026-10-22 12:42:47Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "I forget everything. Grok Bot doesn't. It runs my calendar, my reminders, and my to-do list. And my wife is happier. Try Grok Bot: https://trm.sh/bot\n\nSources:\n\n- https://x.com/markjaquith/status/2112700200829759970\n- https://x.com/hd_nvim/status/2112943574320820401\n- https://x.com/otomir23/status/2112697830687047918\n- https://fenko.nz/blog/emudhra-ca-compromise/?utm_source=chatgpt.com\n- https://emudhra.we-have-a-problem.com/?utm_source=chatgpt.com#macos-curl\n\nTopics Covered:\n\n- The eMudhra Hack\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", "There Is No Way This Is Real", "O905JwSgoi4", 511, false, "https://www.youtube.com/watch?v=O905JwSgoi4", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102200_There Is No Way This Is Real.mp4", false, 37, ~U[2026-10-22 12:42:47Z]] 14:12:09.635 [debug] QUERY OK source="sources" db=0.5ms idle=28.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 14:12:09.638 [debug] QUERY OK source="media_items" db=2.4ms idle=8.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 15:00:37Z], 37] 14:12:09.639 [debug] QUERY OK source="media_items" db=1.1ms 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" ["[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/g4KsKFgARC4\nSpotify: https://open.spotify.com/episode/7ySTxLC7MBtG8koIf7gIIh\n\n[Description]\nThe Standup crew puts their detective skills to the test with a quiz about Dream's supposedly \"uncut\" Minecraft Manhunts. Can programmers spot the suspicious edits, hidden clues, and inconsistencies?\n\n[Chapters]\n00:00:00 - Intro\n00:07:13 - Question 1\n00:09:58 - Confession: What Happens During a Lag Spike?\n00:17:56 - Question 2\n00:22:23 - Question 3\n00:25:42 - Question 4\n00:27:49 - Question 5\n00:31:40 - Question 6\n00:37:04 - Ask Casey: When Is Data-Driven Design Worth It?\n00:43:11 - Question 7\n00:49:18 - Matrices\n00:52:27 - Ask Casey: What Should Run on the Wall Clock?\n00:54:59 - Question 8\n00:57:53 - Question 9\n00:59:58 - Jolt Cracker\n01:04:05 - Outro\n\n[Sources]\n@rubyswolf9767 \nhttps://www.youtube.com/watch?v=WsWNWzSwVUA\nhttps://dartjs.com/joltcracker\nhttps://mcsrc.dev/\nhttp://github.com/misode/mcmeta\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Casey Muratori, Trash Dev, Dream, Dream Minecraft, Minecraft, Minecraft Manhunt, Dream Manhunt, Dream cheating, Dream controversy, Fake Minecraft Manhunts, Minecraft cheating, Minecraft investigation, Minecraft drama, programming, programmers, game development, Minecraft game ticks, Minecraft hunger bar, Minecraft quiz, uncut manhunt, DarkSpark", "Programmers vs Dream's Fake Manhunts | TheStandup", "209654c8-37c1-4af4-b175-738f497b3cea", "y2C0Zpnl6p0", 3875, false, "https://www.youtube.com/watch?v=y2C0Zpnl6p0", 4, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102100_Programmers vs Dream's Fake Manhunts | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-10-21 15:00:37Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/g4KsKFgARC4\nSpotify: https://open.spotify.com/episode/7ySTxLC7MBtG8koIf7gIIh\n\n[Description]\nThe Standup crew puts their detective skills to the test with a quiz about Dream's supposedly \"uncut\" Minecraft Manhunts. Can programmers spot the suspicious edits, hidden clues, and inconsistencies?\n\n[Chapters]\n00:00:00 - Intro\n00:07:13 - Question 1\n00:09:58 - Confession: What Happens During a Lag Spike?\n00:17:56 - Question 2\n00:22:23 - Question 3\n00:25:42 - Question 4\n00:27:49 - Question 5\n00:31:40 - Question 6\n00:37:04 - Ask Casey: When Is Data-Driven Design Worth It?\n00:43:11 - Question 7\n00:49:18 - Matrices\n00:52:27 - Ask Casey: What Should Run on the Wall Clock?\n00:54:59 - Question 8\n00:57:53 - Question 9\n00:59:58 - Jolt Cracker\n01:04:05 - Outro\n\n[Sources]\n@rubyswolf9767 \nhttps://www.youtube.com/watch?v=WsWNWzSwVUA\nhttps://dartjs.com/joltcracker\nhttps://mcsrc.dev/\nhttp://github.com/misode/mcmeta\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nThe Standup, ThePrimeagen, Teej, Casey Muratori, Trash Dev, Dream, Dream Minecraft, Minecraft, Minecraft Manhunt, Dream Manhunt, Dream cheating, Dream controversy, Fake Minecraft Manhunts, Minecraft cheating, Minecraft investigation, Minecraft drama, programming, programmers, game development, Minecraft game ticks, Minecraft hunger bar, Minecraft quiz, uncut manhunt, DarkSpark", "Programmers vs Dream's Fake Manhunts | TheStandup", "y2C0Zpnl6p0", 3875, false, "https://www.youtube.com/watch?v=y2C0Zpnl6p0", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e102100_Programmers vs Dream's Fake Manhunts | TheStandup.mp4", false, 37, ~U[2026-10-21 15:00:37Z]] 14:12:09.640 [debug] QUERY OK source="sources" db=0.4ms idle=9.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 14:12:09.642 [debug] QUERY OK source="media_items" db=2.1ms 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-10-19 19:30:29Z], 37] 14:12:09.643 [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" ["Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://blog.cloudflare.com/durable-objects-ga/\n- https://x.com/rough__sea/status/2105853283617440032\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 Real Reason", "7717a407-1e77-400b-999f-bde91277523a", "5WyoCv68Sok", 785, false, "https://www.youtube.com/watch?v=5WyoCv68Sok", 5, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101900_The Real Reason.mp4", false, false, false, 37, [], 98, ~U[2026-10-19 19:30:29Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://blog.cloudflare.com/durable-objects-ga/\n- https://x.com/rough__sea/status/2105853283617440032\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 Real Reason", "5WyoCv68Sok", 785, false, "https://www.youtube.com/watch?v=5WyoCv68Sok", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101900_The Real Reason.mp4", false, 37, ~U[2026-10-19 19:30:29Z]] 14:12:09.643 [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" = ?) [37] 14:12:09.646 [debug] QUERY OK source="media_items" db=2.1ms 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-10-15 12:35:38Z], 37] 14:12:09.647 [debug] QUERY OK source="media_items" db=0.7ms 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" ["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\n- https://www.anthropic.com/news/2026-usage-policy-update\n- https://x.com/tekbog/status/1955031936633622788\n- https://x.com/Yuchenj_UW/status/2108394698482368527\n- https://x.com/thepirateface/status/2106141859022266721\n- https://x.com/ForrestPKnight/status/2108549285427958145\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", "Anthropic says No More", "c7241475-c09d-418a-91c1-695cca35f061", "ASY_H2nLG8g", 637, false, "https://www.youtube.com/watch?v=ASY_H2nLG8g", 6, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101500_Anthropic says No More.mp4", false, false, false, 37, [], 98, ~U[2026-10-15 12:35:38Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "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\n- https://www.anthropic.com/news/2026-usage-policy-update\n- https://x.com/tekbog/status/1955031936633622788\n- https://x.com/Yuchenj_UW/status/2108394698482368527\n- https://x.com/thepirateface/status/2106141859022266721\n- https://x.com/ForrestPKnight/status/2108549285427958145\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", "Anthropic says No More", "ASY_H2nLG8g", 637, false, "https://www.youtube.com/watch?v=ASY_H2nLG8g", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101500_Anthropic says No More.mp4", false, 37, ~U[2026-10-15 12:35:38Z]] 14:12:09.647 [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] 14:12:09.649 [debug] QUERY OK source="media_items" db=2.1ms 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-10-12 13:00:37Z], 37] 14:12:09.650 [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" ["Sentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nSources:\n- https://x.com/mitsuhiko/status/2101401648543195328\n- https://x.com/setkyarwalar/status/2101414207015322005\n- https://x.com/joshuajbrunner/status/2101436015260954766\n- https://x.com/chiefclawofficr/status/2101420952697311669\n- https://x.com/ryxcommar/status/2101407274174411099\n- https://x.com/avrldotdev/status/2101408145268777250\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", "It’s not just you", "9a8a012e-7864-44ae-81fa-e33bac2785ba", "FlWII9xFabo", 1120, false, "https://www.youtube.com/watch?v=FlWII9xFabo", 7, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101200_It’s not just you.mp4", false, false, false, 37, [], 98, ~U[2026-10-12 13:00:37Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "Sentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nSources:\n- https://x.com/mitsuhiko/status/2101401648543195328\n- https://x.com/setkyarwalar/status/2101414207015322005\n- https://x.com/joshuajbrunner/status/2101436015260954766\n- https://x.com/chiefclawofficr/status/2101420952697311669\n- https://x.com/ryxcommar/status/2101407274174411099\n- https://x.com/avrldotdev/status/2101408145268777250\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", "It’s not just you", "FlWII9xFabo", 1120, false, "https://www.youtube.com/watch?v=FlWII9xFabo", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101200_It’s not just you.mp4", false, 37, ~U[2026-10-12 13:00:37Z]] 14:12:09.651 [debug] QUERY OK source="sources" db=0.3ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 14:12:09.653 [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-10-11 15:00:31Z], 37] 14:12:09.655 [debug] QUERY OK source="media_items" db=1.1ms 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" ["[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode:\nYoutube: https://youtu.be/1UA0i2fpl0Y\nSpotify: https://open.spotify.com/episode/44Q10039DWZ3KDuW1p4isc\n\n[Description]\nWhat happens when AI can decompile entire games and mash them together? Prime, Teej, Casey Muratori, and Trash discuss the decompilation revolution, game preservation, AI-generated code, copyright concerns, and whether game studios can protect their work. Plus, everyone pitches their dream video game mashups, from Pokémon to StarCraft.\n\n[Chapters]\n00:00:00 - Intro\n00:01:23 - Decompiling and Mashing Games\n00:04:43 - Sentry\n00:06:52 - Different kinds of mashing\n00:10:03 - Decomping at Game Studios\n00:12:15 - Retro Preservation\n00:20:15 - AI PRs & Decomp Communities\n00:22:56 - Adobe Suite Decomp & Is any of this legal?\n00:27:53 - Gaming Industry Info Sharing\n00:31:03 - Are they going to stop shipping binaries?\n00:33:51 - Consequences of Piracy\n\n[Sources]\nCasey on Peterman Podcast: https://www.youtube.com/watch?v=jHLbL1Eg4gM\nMashups: https://x.com/chasmmmmmmmmmmm/status/2105707774646562818\nCOD in Skate: https://x.com/chasmmmmmmmmmmm/status/2104349115521888748\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\ntheprimeagen, teej_dv, casey muratori, trash dev, the standup, game decompilation, reverse engineering, AI decompilation, AI coding, video game mashups, game modding, game preservation, retro gaming, game development, game engines, AI generated code, copyright, software piracy, nintendo, pokemon, starcraft, halo, animal crossing, adobe, anti cheat, programming podcast", "AI Is Decompiling Every Game | TheStandup", "96be8030-0817-47b8-baff-cc194621f7f5", "s95Q7D0WR40", 2384, false, "https://www.youtube.com/watch?v=s95Q7D0WR40", 8, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101100_AI Is Decompiling Every Game | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-10-11 15:00:31Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode:\nYoutube: https://youtu.be/1UA0i2fpl0Y\nSpotify: https://open.spotify.com/episode/44Q10039DWZ3KDuW1p4isc\n\n[Description]\nWhat happens when AI can decompile entire games and mash them together? Prime, Teej, Casey Muratori, and Trash discuss the decompilation revolution, game preservation, AI-generated code, copyright concerns, and whether game studios can protect their work. Plus, everyone pitches their dream video game mashups, from Pokémon to StarCraft.\n\n[Chapters]\n00:00:00 - Intro\n00:01:23 - Decompiling and Mashing Games\n00:04:43 - Sentry\n00:06:52 - Different kinds of mashing\n00:10:03 - Decomping at Game Studios\n00:12:15 - Retro Preservation\n00:20:15 - AI PRs & Decomp Communities\n00:22:56 - Adobe Suite Decomp & Is any of this legal?\n00:27:53 - Gaming Industry Info Sharing\n00:31:03 - Are they going to stop shipping binaries?\n00:33:51 - Consequences of Piracy\n\n[Sources]\nCasey on Peterman Podcast: https://www.youtube.com/watch?v=jHLbL1Eg4gM\nMashups: https://x.com/chasmmmmmmmmmmm/status/2105707774646562818\nCOD in Skate: https://x.com/chasmmmmmmmmmmm/status/2104349115521888748\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\ntheprimeagen, teej_dv, casey muratori, trash dev, the standup, game decompilation, reverse engineering, AI decompilation, AI coding, video game mashups, game modding, game preservation, retro gaming, game development, game engines, AI generated code, copyright, software piracy, nintendo, pokemon, starcraft, halo, animal crossing, adobe, anti cheat, programming podcast", "AI Is Decompiling Every Game | TheStandup", "s95Q7D0WR40", 2384, false, "https://www.youtube.com/watch?v=s95Q7D0WR40", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e101100_AI Is Decompiling Every Game | TheStandup.mp4", false, 37, ~U[2026-10-11 15:00:31Z]] 14:12:09.655 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 14:12:09.657 [debug] QUERY OK source="media_items" db=2.0ms 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-10-09 17:17:19Z], 37] 14:12:09.658 [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" ["Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\n[Chapters]\n00:00:00 - Why are Mathematicians so mad?\n00:01:34 - WorkOS\n00:02:19 - Mathematical Misalignment\n00:03:55 - The Problems\n00:04:27 - No more Proof fanfair \n00:05:50 - Lean\n00:07:08 - Math Humans Can't Do\n00:10:00 - Perspectives\n00:11:38 - Four-minute mile\n00:13:53 - Heart & Understanding\n00:15:16 - Purpose\n00:15:47 - Reddit Weirdos\n00:16:33 - The Next Generation\n\nSources:\nOpenAI announcement: https://x.com/OpenAI/status/2107596713791767021\nFaster than n log n (AcerFur): https://x.com/AcerFur/status/2107606747972309163\nImproving n log n (Doug Colkitt): https://x.com/0xdoug/status/2107658319632433524\nhttps://x.com/0xdoug/status/2107832360527913445\nhttps://x.com/0xdoug/status/2107917690568327225\nhttps://x.com/0xdoug/status/2107994110644588859\nhttps://x.com/0xdoug/status/2108005950632214824\nFibonacci squares paper (David Budden): https://x.com/davidmbudden/status/2107646435659481548\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 Mathematics are Mad", "287ebcdd-2078-47a1-aee2-f07f547ab440", "WXh4LF3zJ1Q", 1059, false, "https://www.youtube.com/watch?v=WXh4LF3zJ1Q", 9, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100900_The Mathematics are Mad.mp4", false, false, false, 37, [], 98, ~U[2026-10-09 17:17:19Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\n[Chapters]\n00:00:00 - Why are Mathematicians so mad?\n00:01:34 - WorkOS\n00:02:19 - Mathematical Misalignment\n00:03:55 - The Problems\n00:04:27 - No more Proof fanfair \n00:05:50 - Lean\n00:07:08 - Math Humans Can't Do\n00:10:00 - Perspectives\n00:11:38 - Four-minute mile\n00:13:53 - Heart & Understanding\n00:15:16 - Purpose\n00:15:47 - Reddit Weirdos\n00:16:33 - The Next Generation\n\nSources:\nOpenAI announcement: https://x.com/OpenAI/status/2107596713791767021\nFaster than n log n (AcerFur): https://x.com/AcerFur/status/2107606747972309163\nImproving n log n (Doug Colkitt): https://x.com/0xdoug/status/2107658319632433524\nhttps://x.com/0xdoug/status/2107832360527913445\nhttps://x.com/0xdoug/status/2107917690568327225\nhttps://x.com/0xdoug/status/2107994110644588859\nhttps://x.com/0xdoug/status/2108005950632214824\nFibonacci squares paper (David Budden): https://x.com/davidmbudden/status/2107646435659481548\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 Mathematics are Mad", "WXh4LF3zJ1Q", 1059, false, "https://www.youtube.com/watch?v=WXh4LF3zJ1Q", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100900_The Mathematics are Mad.mp4", false, 37, ~U[2026-10-09 17:17:19Z]] 14:12:09.659 [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" = ?) [37] 14:12:09.661 [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-10-05 13:00:10Z], 37] 14:12:09.662 [debug] QUERY OK source="media_items" db=0.9ms 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\nSources:\n\n- https://www.youtube.com/watch?v=4A_Kkb9w5bw\n- https://www.youtube.com/watch?v=86j8zOsmNFE&t=72s\n- https://www.youtube.com/watch?v=V7PYQCXdX3A \n- https://www.youtube.com/watch?v=IY2j_GPIqRA\n- https://www.youtube.com/watch?v=6ypXfodOu-s&t=657s \n- https://www.youtube.com/watch?v=JDJVDYwhlHI&t=529s \n- https://www.youtube.com/watch?v=DgJS2tQPGKQ \n- https://www.youtube.com/watch?v=N5lKoGH76JQ \n- https://devblogs.microsoft.com/oldnewthing/20100112-01/?p=15303/ \n- https://innovation.world/steve-ballmer-windows-1986/\n- https://www.upi.com/Archives/1982/04/27/800-phone-number-response-centers-grow-in-Nebraska-despite-recession/3307388728000/ \n\nTopics Covered:\n\n- Old Windows commercials\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", "WTF Microsoft", "d804f11b-54ed-4901-a2e5-89bc88bd2721", "aS3XxRz03co", 966, false, "https://www.youtube.com/watch?v=aS3XxRz03co", 10, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100500_WTF Microsoft.mp4", false, false, false, 37, [], 98, ~U[2026-10-05 13:00:10Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "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.youtube.com/watch?v=4A_Kkb9w5bw\n- https://www.youtube.com/watch?v=86j8zOsmNFE&t=72s\n- https://www.youtube.com/watch?v=V7PYQCXdX3A \n- https://www.youtube.com/watch?v=IY2j_GPIqRA\n- https://www.youtube.com/watch?v=6ypXfodOu-s&t=657s \n- https://www.youtube.com/watch?v=JDJVDYwhlHI&t=529s \n- https://www.youtube.com/watch?v=DgJS2tQPGKQ \n- https://www.youtube.com/watch?v=N5lKoGH76JQ \n- https://devblogs.microsoft.com/oldnewthing/20100112-01/?p=15303/ \n- https://innovation.world/steve-ballmer-windows-1986/\n- https://www.upi.com/Archives/1982/04/27/800-phone-number-response-centers-grow-in-Nebraska-despite-recession/3307388728000/ \n\nTopics Covered:\n\n- Old Windows commercials\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", "WTF Microsoft", "aS3XxRz03co", 966, false, "https://www.youtube.com/watch?v=aS3XxRz03co", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100500_WTF Microsoft.mp4", false, 37, ~U[2026-10-05 13:00:10Z]] 14:12:09.663 [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] 14:12:09.665 [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-10-03 03:48:31Z], 37] 14:12:09.666 [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" ["Sandbox aren't enough. Your agents need a devbox. A full development environment with all your dependencies. https://trm.sh/namespace\n\nSources:\n\n- https://openai.com/index/devday-2026-recap/\n- https://openai.com/index/introducing-dots/\n- https://openai.com/index/cerebras-partnership/\n- https://openai.com/index/previewing-ultrafast/\n- https://www.cerebras.ai/blog/accelerating-gpt-5-6-sol-ultrafast-with-openai\n- https://www.reuters.com/technology/openai-buy-compute-capacity-startup-cerebras-around-10-billion-wsj-reports-2026-01-14/\n- https://www.reuters.com/business/openai-shelves-new-ai-model-after-internal-safety-tests-wsj-reports-2026-09-28/\n- https://help.openai.com/en/articles/9793128\n- https://x.com/thsottiaux/status/2104823812042940713\n- https://x.com/SemiAnalysis_/status/2105055045959995719\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", "A total disaster", "e8b4d204-e3ba-4980-8159-355cafc9501e", "p0fybvFyOlM", 799, false, "https://www.youtube.com/watch?v=p0fybvFyOlM", 11, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100300_A total disaster.mp4", false, false, false, 37, [], 98, ~U[2026-10-03 03:48:31Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "Sandbox aren't enough. Your agents need a devbox. A full development environment with all your dependencies. https://trm.sh/namespace\n\nSources:\n\n- https://openai.com/index/devday-2026-recap/\n- https://openai.com/index/introducing-dots/\n- https://openai.com/index/cerebras-partnership/\n- https://openai.com/index/previewing-ultrafast/\n- https://www.cerebras.ai/blog/accelerating-gpt-5-6-sol-ultrafast-with-openai\n- https://www.reuters.com/technology/openai-buy-compute-capacity-startup-cerebras-around-10-billion-wsj-reports-2026-01-14/\n- https://www.reuters.com/business/openai-shelves-new-ai-model-after-internal-safety-tests-wsj-reports-2026-09-28/\n- https://help.openai.com/en/articles/9793128\n- https://x.com/thsottiaux/status/2104823812042940713\n- https://x.com/SemiAnalysis_/status/2105055045959995719\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", "A total disaster", "p0fybvFyOlM", 799, false, "https://www.youtube.com/watch?v=p0fybvFyOlM", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e100300_A total disaster.mp4", false, 37, ~U[2026-10-03 03:48:31Z]] 14:12:09.667 [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" = ?) [37] 14:12:09.669 [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-09-29 15:24:56Z], 37] 14:12:09.670 [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" ["Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. \nhttps://trm.sh/namespace-github-actions\n\nLike this video check out the playlist here: https://www.youtube.com/playlist?list=PLV5iO6tVgf1s\n\nChapters:\n00:00 - Intro\n01:18 - Namespace\n02:04 - Early life & Education\n02:52 - Quick Sort\n04:48 - Elliot Brothers\n05:58 - ALGOL W (billion dollar mistake)\n07:06 - the true cost of nul pointer\n08:20 - Communicating Sequential Processes (CSP)\n10:14 - Quotes\n11:21 - Sir Tony Hoare\n12:00 - Outro\n\nSources:\n\n- https://en.wikipedia.org/wiki/Quicksort\n- https://en.wikipedia.org/wiki/Hoare_logic\n- https://en.wikipedia.org/wiki/Communicating_sequential_processes\n- https://en.wikipedia.org/wiki/Null_pointer#History\n- https://en.wikipedia.org/wiki/Unifying_Theories_of_Programming\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", "He Realized his Mistake", "a6608d07-c653-49d0-b7fe-75f06389e87d", "jF3W7EkXd4k", 734, false, "https://www.youtube.com/watch?v=jF3W7EkXd4k", 12, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092900_He Realized his Mistake.mp4", false, false, false, 37, [], 98, ~U[2026-09-29 15:24:56Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. \nhttps://trm.sh/namespace-github-actions\n\nLike this video check out the playlist here: https://www.youtube.com/playlist?list=PLV5iO6tVgf1s\n\nChapters:\n00:00 - Intro\n01:18 - Namespace\n02:04 - Early life & Education\n02:52 - Quick Sort\n04:48 - Elliot Brothers\n05:58 - ALGOL W (billion dollar mistake)\n07:06 - the true cost of nul pointer\n08:20 - Communicating Sequential Processes (CSP)\n10:14 - Quotes\n11:21 - Sir Tony Hoare\n12:00 - Outro\n\nSources:\n\n- https://en.wikipedia.org/wiki/Quicksort\n- https://en.wikipedia.org/wiki/Hoare_logic\n- https://en.wikipedia.org/wiki/Communicating_sequential_processes\n- https://en.wikipedia.org/wiki/Null_pointer#History\n- https://en.wikipedia.org/wiki/Unifying_Theories_of_Programming\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", "He Realized his Mistake", "jF3W7EkXd4k", 734, false, "https://www.youtube.com/watch?v=jF3W7EkXd4k", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092900_He Realized his Mistake.mp4", false, 37, ~U[2026-09-29 15:24:56Z]] 14:12:09.671 [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] 14:12:09.673 [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-09-27 13:00:01Z], 37] 14:12:09.675 [debug] QUERY OK source="media_items" db=0.9ms 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" ["[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/Ag3nn9BgWP0\nSpotify: https://open.spotify.com/episode/1A82BUfwmLOUtZZwuaOOqs\n\n[Description]\nLegendary programmer and game developer Casey Muratori ruthlessly judges the digging games we made!\n\n[Chapters]\n00:00:00 - Digging Games Intro\n00:03:39 - Linear\n00:04:18 - Trash has things to say\n00:07:04 - Trash’s first game ideas\n00:16:54 - Trash’s Digging game\n00:21:35 - qwerop\n00:28:24 - Teej’s first game (Receipts app the game)\n00:36:40 - Prime’s Game\n00:41:25 - Teej’s Digging Game\n00:46:23 - Casey’s Judgement\n00:54:11 - Outro\n\n[Sources]\nTrash Games\nhttps://qwerop.com\n\nTeej Games\nhttps://dig-deep.trm.sh/\nhttps://gravel-empire.trm.sh/\n\nPrime Games\nhttps://beatdig.trm.sh/\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nDHH: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nCasey Muratori, game development, gamedev, indie game dev, game design, coding, game programming, TheStandupPod, digging games, game review, programming challenge, indie dev showcase", "Casey Muratori Judges Our Digging Games | TheStandup", "7441072d-70f3-499e-9633-66b1e1d4b551", "W9-UG1hvMYs", 3277, false, "https://www.youtube.com/watch?v=W9-UG1hvMYs", 13, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092700_Casey Muratori Judges Our Digging Games | TheStandup.mp4", false, false, false, 37, [], 98, ~U[2026-09-27 13:00:01Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "[Sponsor]\nLinear 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\nFull Episode:\nYoutube: https://youtu.be/Ag3nn9BgWP0\nSpotify: https://open.spotify.com/episode/1A82BUfwmLOUtZZwuaOOqs\n\n[Description]\nLegendary programmer and game developer Casey Muratori ruthlessly judges the digging games we made!\n\n[Chapters]\n00:00:00 - Digging Games Intro\n00:03:39 - Linear\n00:04:18 - Trash has things to say\n00:07:04 - Trash’s first game ideas\n00:16:54 - Trash’s Digging game\n00:21:35 - qwerop\n00:28:24 - Teej’s first game (Receipts app the game)\n00:36:40 - Prime’s Game\n00:41:25 - Teej’s Digging Game\n00:46:23 - Casey’s Judgement\n00:54:11 - Outro\n\n[Sources]\nTrash Games\nhttps://qwerop.com\n\nTeej Games\nhttps://dig-deep.trm.sh/\nhttps://gravel-empire.trm.sh/\n\nPrime Games\nhttps://beatdig.trm.sh/\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nDHH: https://thestanduppod.com/contributor/cmuratori\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]\nCasey Muratori, game development, gamedev, indie game dev, game design, coding, game programming, TheStandupPod, digging games, game review, programming challenge, indie dev showcase", "Casey Muratori Judges Our Digging Games | TheStandup", "W9-UG1hvMYs", 3277, false, "https://www.youtube.com/watch?v=W9-UG1hvMYs", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092700_Casey Muratori Judges Our Digging Games | TheStandup.mp4", false, 37, ~U[2026-09-27 13:00:01Z]] 14:12:09.675 [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" = ?) [37] 14:12:09.678 [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-09-25 17:23:17Z], 37] 14:12:09.679 [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" ["Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- Primary: https://x.com/CompleteSkeptic/status/2099925682726002904\n- Mau Baron demo: https://x.com/maubaron/status/2100738237237002706\n- Feed filter ext: https://x.com/marcelpociot/status/2100520134481735729\n- WhatsApp scam radar: https://x.com/itscellou/status/2101721165719089434\n- Flights browser agent: https://x.com/opc0de3/status/2100582579565105561\n- More X demos listed under Resources → Coolest Demos\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", "Computer Use is Solved?", "7ab59cf0-c98c-441c-8392-53577cd7f9f3", "BHPDsGVciDk", 727, false, "https://www.youtube.com/watch?v=BHPDsGVciDk", 14, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092500_Computer Use is Solved?.mp4", false, false, false, 37, [], 97, ~U[2026-09-25 17:23:17Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- Primary: https://x.com/CompleteSkeptic/status/2099925682726002904\n- Mau Baron demo: https://x.com/maubaron/status/2100738237237002706\n- Feed filter ext: https://x.com/marcelpociot/status/2100520134481735729\n- WhatsApp scam radar: https://x.com/itscellou/status/2101721165719089434\n- Flights browser agent: https://x.com/opc0de3/status/2100582579565105561\n- More X demos listed under Resources → Coolest Demos\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", "Computer Use is Solved?", "BHPDsGVciDk", 727, false, "https://www.youtube.com/watch?v=BHPDsGVciDk", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092500_Computer Use is Solved?.mp4", false, 37, ~U[2026-09-25 17:23:17Z]] 14:12:09.679 [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" = ?) [37] 14:12:09.682 [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-09-23 12:00:29Z], 37] 14:12:09.683 [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" ["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- https://x.com/v0xium/status/2101526107128529120\n- https://x.com/JonathanRoss321/status/2049901596054798774\n- https://x.com/mitchellh/status/2100249348345057389\n- https://x.com/nicbarkeragain/status/2100345337831711083\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 can’t take it anymore", "598a2283-3787-49f8-83bc-2559655140e6", "iuccfEQgIeY", 596, false, "https://www.youtube.com/watch?v=iuccfEQgIeY", 15, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092300_They can’t take it anymore.mp4", false, false, false, 37, [], 98, ~U[2026-09-23 12:00:29Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "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- https://x.com/v0xium/status/2101526107128529120\n- https://x.com/JonathanRoss321/status/2049901596054798774\n- https://x.com/mitchellh/status/2100249348345057389\n- https://x.com/nicbarkeragain/status/2100345337831711083\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 can’t take it anymore", "iuccfEQgIeY", 596, false, "https://www.youtube.com/watch?v=iuccfEQgIeY", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e092300_They can’t take it anymore.mp4", false, 37, ~U[2026-09-23 12:00:29Z]] 14:12:09.683 [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] 14:12:09.686 [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-09-19 01:44:08Z], 37] 14:12:09.687 [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" ["Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://x.com/hilbertspaess/status/2097476196791709843\n- https://x.com/hilbertspaess/status/2099960188702957776\n- https://x.com/EvanHub/status/2097497037956891126\n- https://www.axios.com/2025/09/17/anthropic-dario-amodei-p-doom-25-percent\n- https://darioamodei.com/post/we-must-pace-the-frontier\n- https://x.com/ParkerThayer/status/2097759699626328575\n\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 can’t believe this is happening", "7bb29edd-b2d5-405a-b89a-3ec38f4c0101", "W8IVKMGbUZE", 870, false, "https://www.youtube.com/watch?v=W8IVKMGbUZE", 16, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091900_I can’t believe this is happening.mp4", false, false, false, 37, [], 98, ~U[2026-09-19 01:44:08Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "Namespace is actually the fastest way to run your GitHub Actions. And a drop-in replacement. https://trm.sh/namespace-github-actions\n\nSources:\n\n- https://x.com/hilbertspaess/status/2097476196791709843\n- https://x.com/hilbertspaess/status/2099960188702957776\n- https://x.com/EvanHub/status/2097497037956891126\n- https://www.axios.com/2025/09/17/anthropic-dario-amodei-p-doom-25-percent\n- https://darioamodei.com/post/we-must-pace-the-frontier\n- https://x.com/ParkerThayer/status/2097759699626328575\n\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 can’t believe this is happening", "W8IVKMGbUZE", 870, false, "https://www.youtube.com/watch?v=W8IVKMGbUZE", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091900_I can’t believe this is happening.mp4", false, 37, ~U[2026-09-19 01:44:08Z]] 14:12:09.687 [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] 14:12:09.689 [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-09-17 12:00:15Z], 37] 14:12:09.690 [debug] QUERY OK source="media_items" db=0.6ms 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" ["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- https://www.benjoffe.com/fast-day-of-week\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 Date Hack", "e8d9cffe-023c-4c53-9280-5294309cc6cc", "0UiMf5dV4_Y", 680, false, "https://www.youtube.com/watch?v=0UiMf5dV4_Y", 17, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091700_The Date Hack.mp4", false, false, false, 37, [], 98, ~U[2026-09-17 12:00:15Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "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- https://www.benjoffe.com/fast-day-of-week\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 Date Hack", "0UiMf5dV4_Y", 680, false, "https://www.youtube.com/watch?v=0UiMf5dV4_Y", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091700_The Date Hack.mp4", false, 37, ~U[2026-09-17 12:00:15Z]] 14:12:09.691 [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] 14:12:09.693 [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-09-15 12:00:23Z], 37] 14:12:09.696 [debug] QUERY OK source="media_items" db=2.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" ["Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://artificialanalysis.ai/\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "How are they Losing so Bad", "759c28f1-2a8a-421f-9d8e-823afcbf3875", "d3Gjq-BffuI", 666, false, "https://www.youtube.com/watch?v=d3Gjq-BffuI", 18, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091500_How are they Losing so Bad.mp4", false, false, false, 37, [], 98, ~U[2026-09-15 12:00:23Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "Don’t vibe code your auth. Use WorkOS: https://trm.sh/workos\n\nSources:\n\n- https://artificialanalysis.ai/\n\nGreat News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen\n\n#theprimeagen #programming #computerscience #ai #chatgippty #terminaldotshop", "How are they Losing so Bad", "d3Gjq-BffuI", 666, false, "https://www.youtube.com/watch?v=d3Gjq-BffuI", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091500_How are they Losing so Bad.mp4", false, 37, ~U[2026-09-15 12:00:23Z]] 14:12:09.696 [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] 14:12:09.699 [debug] QUERY OK source="media_items" db=2.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-09-12 15:00:21Z], 37] 14:12:09.700 [debug] QUERY OK source="media_items" db=1.0ms 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" ["[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode\nYoutube: https://youtu.be/VeCptqGSahs\nSpotify: https://open.spotify.com/episode/53Bkor85uRw5bN9fl6Kjd8\n\n[Description]\nThe Standup dives into the future of developer tools, from GitHub’s move deeper into Microsoft’s AI organization and the fight over LLM training on open-source code to TJ’s attempt to turn Neovim into a full GUI. Plus: vibe-coded games, Pokémon vending machine PvP, and Prime turns 40.\n\n[Chapters]\n00:00:00 - Intro\n00:00:40 - Neovim GUI\n00:02:07 - Sentry\n00:04:17 - back to Neovim GUI\n00:06:03 - Right Click Menu / context menu\n00:07:37 - Floating Markdown\n00:11:03 - in editor brain rot\n00:13:32 - Cursor SDK built-in\n00:15:57 - Drawn References\n00:18:45 - Color Scheme modifier\n00:23:56 - It runs DOOM\n00:24:42 - How many languages now?\n00:26:55 - Linear Integration\n00:28:40 - What’s the competition look like?\n00:30:47 - Daemon\n00:32:21 - Ratings\n00:39:10 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]", "TUI or GUI", "8b7fa463-b5ca-460a-b7e1-939194b0178d", "Ay3wo9LdRwQ", 2375, false, "https://www.youtube.com/watch?v=Ay3wo9LdRwQ", 19, "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091200_TUI or GUI.mp4", false, false, false, 37, [], 98, ~U[2026-09-12 15:00:21Z], ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], "[Sponsor]\nSentry: Catch, trace, and fix bugs across your entire stack. Use code: prime for $100 in free sentry credits → https://trm.sh/sentry\n\nFull Episode\nYoutube: https://youtu.be/VeCptqGSahs\nSpotify: https://open.spotify.com/episode/53Bkor85uRw5bN9fl6Kjd8\n\n[Description]\nThe Standup dives into the future of developer tools, from GitHub’s move deeper into Microsoft’s AI organization and the fight over LLM training on open-source code to TJ’s attempt to turn Neovim into a full GUI. Plus: vibe-coded games, Pokémon vending machine PvP, and Prime turns 40.\n\n[Chapters]\n00:00:00 - Intro\n00:00:40 - Neovim GUI\n00:02:07 - Sentry\n00:04:17 - back to Neovim GUI\n00:06:03 - Right Click Menu / context menu\n00:07:37 - Floating Markdown\n00:11:03 - in editor brain rot\n00:13:32 - Cursor SDK built-in\n00:15:57 - Drawn References\n00:18:45 - Color Scheme modifier\n00:23:56 - It runs DOOM\n00:24:42 - How many languages now?\n00:26:55 - Linear Integration\n00:28:40 - What’s the competition look like?\n00:30:47 - Daemon\n00:32:21 - Ratings\n00:39:10 - Outro\n\n[Hosts/Guests]\nPrime: https://thestanduppod.com/contributor/theprimeagen\nTeej: https://thestanduppod.com/contributor/teej-dv\nTrash: https://thestanduppod.com/contributor/trash\nCasey: https://thestanduppod.com/contributor/cmuratori\n\n\n[Partners]\nLinear: https://trm.sh/linear\nSentry: https://trm.sh/sentry\n\n[Socials]\nx.com/thestanduppod\ninstagram.com/thestanduppod\ntiktok.com/@thestanduppod\nfacebook.com/profile.php?id=61573286173150\n\n[Other Places to find us]\nSpotify: https://open.spotify.com/show/01A062kejnXFkJE01bjN5J\nRSS: thestanduppod.com/feed.xml\nClips: @TheStandupPodClips\nWebsite: thestanduppod.com\n\n[Tags]", "TUI or GUI", "Ay3wo9LdRwQ", 2375, false, "https://www.youtube.com/watch?v=Ay3wo9LdRwQ", "/downloads/chris/tubes/ThePrimeTime_[UCUyeluBRhGPCW4rPe_UvBZQ]/Season 2026/s2026e091200_TUI or GUI.mp4", false, 37, ~U[2026-09-12 15:00:21Z]] 14:12:09.700 [debug] QUERY OK source="sources" db=0.3ms idle=6.9ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z], 37] 14:12:09.703 [debug] QUERY OK source="media_items" db=2.7ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 14:12:09.729 [debug] QUERY OK source="media_items" db=2.6ms idle=3.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] 14:12:09.729 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [37] 14:12:09.730 [debug] QUERY OK source="tasks" db=0.2ms idle=4.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541587, 37, ~U[2026-10-26 19:12:09Z], ~U[2026-10-26 19:12:09Z]] 14:12:09.731 [info] {"args":{"id":37},"id":541483,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":99847366,"event":"job:stop","queue_time":297353,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:12:30.387 [info] {"source":"oban","duration":9510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:50.060 [info] {"args":{"id":52},"id":541583,"meta":{},"system_time":1793041970060460563,"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"]} 14:12:50.061 [debug] QUERY OK source="sources" db=0.3ms idle=602.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:12:50.061 [debug] QUERY OK source="settings" db=0.2ms idle=602.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:50.062 [debug] QUERY OK source="media_profiles" db=0.2ms idle=603.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] 14:12:50.062 [debug] QUERY OK source="settings" db=0.6ms 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 [] 14:12:50.062 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 14:12:50.399 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 14:12:50.400 [debug] QUERY OK source="media_items" db=0.5ms idle=338.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 14:12:50.401 [debug] QUERY OK source="media_items" db=0.9ms idle=339.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] 14:12:50.405 [debug] QUERY OK source="tasks" db=0.2ms idle=342.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541588, 1301334, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.409 [debug] QUERY OK source="tasks" db=0.3ms idle=4.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541589, 1301335, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.413 [info] {"args":{"id":1301334},"id":541588,"meta":{},"system_time":1793041970412986156,"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"]} 14:12:50.413 [info] {"args":{"id":1301335},"id":541589,"meta":{},"system_time":1793041970413029710,"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"]} 14:12:50.413 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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] 14:12:50.414 [debug] QUERY OK source="media_items" db=0.7ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 14:12:50.414 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:12:50.414 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:12:50.414 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:12:50.414 [debug] QUERY OK source="sources" db=0.3ms 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] 14:12:50.415 [debug] QUERY OK source="media_profiles" db=0.4ms idle=0.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:12:50.415 [debug] QUERY OK source="media_profiles" db=0.6ms queue=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] 14:12:50.415 [debug] QUERY OK source="tasks" db=0.7ms idle=0.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541590, 1301347, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.416 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=0.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1301334] 14:12:50.416 [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 [1301335] 14:12:50.418 [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" [541591, 1301392, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.418 [debug] QUERY OK source="media_metadata" db=0.1ms queue=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" = ?) [1301334] 14:12:50.419 [debug] QUERY OK source="media_metadata" db=0.3ms 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] 14:12:50.419 [debug] QUERY OK source="media_profiles" db=0.4ms idle=0.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:12:50.419 [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] 14:12:50.419 [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 [] 14:12:50.420 [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 [] 14:12:50.420 [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 [] 14:12:50.420 [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 [] 14:12:50.420 [debug] Running yt-dlp command for action: get_downloadable_status 14:12:50.420 [debug] Running yt-dlp command for action: get_downloadable_status 14:12:50.422 [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 [] 14:12:50.422 [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" [541592, 1301393, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.422 [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 [] 14:12:50.423 [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 [] 14:12:50.423 [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 [] 14:12:50.423 [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/e9/30e932a03a6239eebfaeef5f5634137608b4610c8ce295aaf71fe8bbcabd5948.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:50.423 [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 [] 14:12:50.423 [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 [] 14:12:50.423 [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/48/8c/488c96770651a68a4351cbda87e8a0ac80290e9011c3d39c44797af6abf35fd9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:50.425 [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" [541593, 1301394, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.428 [debug] QUERY OK source="tasks" db=0.5ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541594, 1301395, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.432 [debug] QUERY OK source="tasks" db=0.1ms idle=3.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541595, 1301397, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.434 [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" [541596, 1301398, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.437 [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" [541597, 1301399, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.440 [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" [541598, 1301400, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.443 [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" [541599, 2720968, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.446 [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" [541600, 3440530, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.450 [debug] QUERY OK source="tasks" db=0.3ms idle=4.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541601, 3675707, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.451 [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" [541602, 52, ~U[2026-10-26 19:12:50Z], ~U[2026-10-26 19:12:50Z]] 14:12:50.451 [info] {"args":{"id":52},"id":541583,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":391074,"event":"job:stop","queue_time":291870,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:12:52.303 [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/48/8c/488c96770651a68a4351cbda87e8a0ac80290e9011c3d39c44797af6abf35fd9.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. 14:12:52.303 [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" 14:12:52.303 [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" 14:12:52.303 [info] {"args":{"id":1301335},"id":541589,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1890306,"event":"job:stop","queue_time":411556,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:12:52.310 [info] {"args":{"id":1301347},"id":541590,"meta":{},"system_time":1793041972310431961,"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"]} 14:12:52.310 [debug] QUERY OK source="media_items" db=0.1ms idle=851.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" = ?) [1301347] 14:12:52.310 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:12:52.311 [debug] QUERY OK source="sources" db=0.1ms idle=852.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:12:52.311 [debug] QUERY OK source="media_profiles" db=0.1ms idle=254.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] 14:12:52.311 [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] 14:12:52.313 [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] 14:12:52.314 [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] 14:12:52.314 [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 [] 14:12:52.314 [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 [] 14:12:52.314 [debug] Running yt-dlp command for action: get_downloadable_status 14:12:52.316 [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 [] 14:12:52.316 [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 [] 14:12:52.316 [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 [] 14:12:52.316 [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/a5/31/a531b0776fb52460a948ab0f7adfdbe9decc073733680619ffa36fd6669524ac.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:52.371 [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/e9/30e932a03a6239eebfaeef5f5634137608b4610c8ce295aaf71fe8bbcabd5948.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. 14:12:52.371 [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" 14:12:52.371 [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" 14:12:52.371 [info] {"args":{"id":1301334},"id":541588,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1958543,"event":"job:stop","queue_time":411556,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:12:52.378 [info] {"args":{"id":1301392},"id":541591,"meta":{},"system_time":1793041972378075466,"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"]} 14:12:52.378 [debug] QUERY OK source="media_items" db=0.1ms idle=62.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] 14:12:52.378 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:12:52.378 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:12:52.379 [debug] QUERY OK source="media_profiles" db=0.1ms idle=62.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:12:52.379 [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 [1301392] 14:12:52.381 [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] 14:12:52.381 [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] 14:12:52.381 [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 [] 14:12:52.381 [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 [] 14:12:52.381 [debug] Running yt-dlp command for action: get_downloadable_status 14:12:52.382 [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 [] 14:12:52.382 [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 [] 14:12:52.383 [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 [] 14:12:52.383 [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/33/4a3345b2137459571eb07328b2b563729ee86818ec1c05d81823c8834d707254.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:54.197 [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/33/4a3345b2137459571eb07328b2b563729ee86818ec1c05d81823c8834d707254.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. 14:12:54.197 [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" 14:12:54.197 [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" 14:12:54.198 [info] {"args":{"id":1301392},"id":541591,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1819809,"event":"job:stop","queue_time":2377572,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:12:54.204 [info] {"args":{"id":1301393},"id":541592,"meta":{},"system_time":1793041974204214423,"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"]} 14:12:54.204 [debug] QUERY OK source="media_items" db=0.1ms idle=745.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" = ?) [1301393] 14:12:54.204 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:12:54.204 [debug] QUERY OK source="sources" db=0.1ms idle=746.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:12:54.205 [debug] QUERY OK source="media_profiles" db=0.1ms idle=145.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] 14:12:54.205 [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 [1301393] 14:12:54.207 [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" = ?) [1301393] 14:12:54.207 [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] 14:12:54.208 [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 [] 14:12:54.208 [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 [] 14:12:54.208 [debug] Running yt-dlp command for action: get_downloadable_status 14:12:54.209 [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 [] 14:12:54.209 [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 [] 14:12:54.209 [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 [] 14:12:54.209 [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/6f/56/6f56ad200272c25e57963613a10c7171cb8f3920bec99b2203e70fdaed4bb950.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:54.289 [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/a5/31/a531b0776fb52460a948ab0f7adfdbe9decc073733680619ffa36fd6669524ac.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. 14:12:54.290 [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" 14:12:54.290 [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" 14:12:54.290 [info] {"args":{"id":1301347},"id":541590,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1979818,"event":"job:stop","queue_time":2309576,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:12:54.297 [info] {"args":{"id":1301394},"id":541593,"meta":{},"system_time":1793041974297174310,"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"]} 14:12:54.297 [debug] QUERY OK source="media_items" db=0.1ms idle=88.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301394] 14:12:54.297 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:12:54.297 [debug] QUERY OK source="sources" db=0.1ms idle=88.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:12:54.298 [debug] QUERY OK source="media_profiles" db=0.1ms idle=88.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] 14:12:54.298 [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] 14:12:54.299 [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] 14:12:54.299 [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] 14:12:54.300 [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 [] 14:12:54.300 [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 [] 14:12:54.300 [debug] Running yt-dlp command for action: get_downloadable_status 14:12:54.301 [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 [] 14:12:54.301 [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 [] 14:12:54.301 [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 [] 14:12:54.301 [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/74/c574bf11fd384e41278a935648d3c1fbb891e25c9a5adb13d53837903f18ecad.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:56.129 [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/74/c574bf11fd384e41278a935648d3c1fbb891e25c9a5adb13d53837903f18ecad.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. 14:12:56.129 [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" 14:12:56.129 [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" 14:12:56.129 [info] {"args":{"id":1301394},"id":541593,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1832098,"event":"job:stop","queue_time":4296566,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:12:56.136 [info] {"args":{"id":1301395},"id":541594,"meta":{},"system_time":1793041976136454272,"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"]} 14:12:56.136 [debug] QUERY OK source="media_items" db=0.1ms idle=677.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] 14:12:56.137 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:12:56.137 [debug] QUERY OK source="sources" db=0.1ms idle=678.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:12:56.137 [debug] QUERY OK source="media_profiles" db=0.1ms idle=75.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:12:56.138 [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] 14:12:56.139 [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" = ?) [1301395] 14:12:56.139 [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] 14:12:56.140 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:56.140 [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 [] 14:12:56.140 [debug] Running yt-dlp command for action: get_downloadable_status 14:12:56.141 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:56.141 [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 [] 14:12:56.141 [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 [] 14:12:56.141 [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/c5/cc/c5cca266f7a2b92bc076cfe8661d4ec481de42872a48c79586e24bcbbcc07874.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:56.221 [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/6f/56/6f56ad200272c25e57963613a10c7171cb8f3920bec99b2203e70fdaed4bb950.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. 14:12:56.221 [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" 14:12:56.221 [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" 14:12:56.221 [info] {"args":{"id":1301393},"id":541592,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2017296,"event":"job:stop","queue_time":4203574,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:12:56.228 [info] {"args":{"id":1301397},"id":541595,"meta":{},"system_time":1793041976228171817,"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"]} 14:12:56.228 [debug] QUERY OK source="media_items" db=0.2ms idle=86.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] 14:12:56.228 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:12:56.229 [debug] QUERY OK source="sources" db=0.1ms idle=87.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:12:56.229 [debug] QUERY OK source="media_profiles" db=0.1ms idle=87.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] 14:12:56.229 [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] 14:12:56.231 [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" = ?) [1301397] 14:12:56.231 [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] 14:12:56.232 [debug] QUERY OK source="settings" db=1.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 [] 14:12:56.232 [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 [] 14:12:56.233 [debug] Running yt-dlp command for action: get_downloadable_status 14:12:56.234 [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 [] 14:12:56.234 [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 [] 14:12:56.234 [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 [] 14:12:56.234 [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/7a/58/7a5884e0c9c18f95fe631e39a6e3fdc2d2716d6a92ba19638292c79463aacb06.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:58.058 [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/7a/58/7a5884e0c9c18f95fe631e39a6e3fdc2d2716d6a92ba19638292c79463aacb06.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. 14:12:58.059 [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" 14:12:58.059 [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" 14:12:58.059 [info] {"args":{"id":1301397},"id":541595,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1831046,"event":"job:stop","queue_time":6227511,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:12:58.066 [info] {"args":{"id":1301398},"id":541596,"meta":{},"system_time":1793041978066038746,"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"]} 14:12:58.066 [debug] QUERY OK source="media_items" db=0.1ms idle=607.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] 14:12:58.066 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:12:58.066 [debug] QUERY OK source="sources" db=0.1ms idle=607.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:12:58.066 [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] 14:12:58.067 [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 [1301398] 14:12:58.071 [debug] QUERY OK source="media_metadata" db=0.1ms idle=5.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] 14:12:58.071 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 14:12:58.072 [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 [] 14:12:58.072 [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 [] 14:12:58.072 [debug] Running yt-dlp command for action: get_downloadable_status 14:12:58.074 [debug] QUERY OK source="settings" db=0.0ms 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 [] 14:12:58.074 [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 [] 14:12:58.074 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:58.074 [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/44/5b/445be2262a149fc6d5d31a97175013dbe89521a5345cc3142b716601c6db3ae7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:58.258 [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/c5/cc/c5cca266f7a2b92bc076cfe8661d4ec481de42872a48c79586e24bcbbcc07874.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. 14:12:58.258 [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" 14:12:58.258 [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" 14:12:58.258 [info] {"args":{"id":1301395},"id":541594,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2122175,"event":"job:stop","queue_time":6135599,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:12:58.265 [info] {"args":{"id":1301399},"id":541597,"meta":{},"system_time":1793041978265043208,"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"]} 14:12:58.265 [debug] QUERY OK source="media_items" db=0.2ms idle=190.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] 14:12:58.265 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:12:58.265 [debug] QUERY OK source="sources" db=0.2ms idle=191.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:12:58.266 [debug] QUERY OK source="media_profiles" db=0.1ms idle=191.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:12:58.266 [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] 14:12:58.267 [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" = ?) [1301399] 14:12:58.268 [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] 14:12:58.268 [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 [] 14:12:58.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 [] 14:12:58.268 [debug] Running yt-dlp command for action: get_downloadable_status 14:12:58.269 [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 [] 14:12:58.270 [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 [] 14:12:58.270 [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 [] 14:12:58.270 [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/1d/25/1d253a40e7316b9cb2f2f436e5ee14ecd7cdea505d10e9b7ef28e0724ad6d78e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:00.105 [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/1d/25/1d253a40e7316b9cb2f2f436e5ee14ecd7cdea505d10e9b7ef28e0724ad6d78e.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. 14:13:00.105 [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" 14:13:00.105 [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" 14:13:00.106 [info] {"args":{"id":1301399},"id":541597,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1840771,"event":"job:stop","queue_time":8264508,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:00.112 [info] {"args":{"id":1301400},"id":541598,"meta":{},"system_time":1793041980112232245,"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"]} 14:13:00.112 [debug] QUERY OK source="media_items" db=0.1ms idle=653.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] 14:13:00.112 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:00.113 [debug] QUERY OK source="sources" db=0.1ms idle=654.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:13:00.113 [debug] QUERY OK source="media_profiles" db=0.1ms idle=45.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] 14:13:00.113 [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] 14:13:00.117 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.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] 14:13:00.117 [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] 14:13:00.117 [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 [] 14:13:00.118 [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 [] 14:13:00.118 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:00.119 [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 [] 14:13:00.119 [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 [] 14:13:00.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 [] 14:13:00.119 [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/1a/14/1a149dfc1694f1e8bfd2602c12d22920d7c7d93dc887fa8fdd34d117f65e8472.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:00.232 [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/44/5b/445be2262a149fc6d5d31a97175013dbe89521a5345cc3142b716601c6db3ae7.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. 14:13:00.232 [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" 14:13:00.232 [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" 14:13:00.232 [info] {"args":{"id":1301398},"id":541596,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2166286,"event":"job:stop","queue_time":8065551,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:00.239 [info] {"args":{"id":2720968},"id":541599,"meta":{},"system_time":1793041980239217634,"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"]} 14:13:00.239 [debug] QUERY OK source="media_items" db=0.1ms idle=120.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] 14:13:00.239 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:00.240 [debug] QUERY OK source="sources" db=0.2ms idle=120.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:13:00.240 [debug] QUERY OK source="media_profiles" db=0.1ms idle=120.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] 14:13:00.240 [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] 14:13:00.243 [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] 14:13:00.243 [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] 14:13:00.243 [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 [] 14:13:00.243 [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 [] 14:13:00.243 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:00.245 [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 [] 14:13:00.245 [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 [] 14:13:00.245 [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 [] 14:13:00.245 [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/f3/2f/f32fa3206bd3862a5dc2421def19957ac425e8c7c613d739d81f1026a90adf8e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:00.287 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:13:00.394 [info] {"source":"oban","duration":7084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:01.903 [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/1a/14/1a149dfc1694f1e8bfd2602c12d22920d7c7d93dc887fa8fdd34d117f65e8472.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. 14:13:01.904 [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" 14:13:01.904 [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" 14:13:01.904 [info] {"args":{"id":1301400},"id":541598,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1791935,"event":"job:stop","queue_time":10111519,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:01.911 [info] {"args":{"id":3440530},"id":541600,"meta":{},"system_time":1793041981911572133,"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"]} 14:13:01.911 [debug] QUERY OK source="media_items" db=0.1ms idle=453.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" = ?) [3440530] 14:13:01.912 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:01.912 [debug] QUERY OK source="sources" db=0.1ms idle=453.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:13:01.912 [debug] QUERY OK source="media_profiles" db=0.5ms idle=453.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] 14:13:01.913 [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 [3440530] 14:13:01.914 [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" = ?) [3440530] 14:13:01.914 [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] 14:13:01.915 [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 [] 14:13:01.915 [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 [] 14:13:01.915 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:01.917 [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 [] 14:13:01.917 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:01.917 [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 [] 14:13:01.918 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/04/dd/04dd0991d4552f40c1eb7e3308dadbedd8af5e5d7bff08c46ee1304d545e6669.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:02.123 [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/f3/2f/f32fa3206bd3862a5dc2421def19957ac425e8c7c613d739d81f1026a90adf8e.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. 14:13:02.123 [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" 14:13:02.123 [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" 14:13:02.124 [info] {"args":{"id":2720968},"id":541599,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1884443,"event":"job:stop","queue_time":10238517,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:02.130 [info] {"args":{"id":3675707},"id":541601,"meta":{},"system_time":1793041982130148944,"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"]} 14:13:02.130 [debug] QUERY OK source="media_items" db=0.1ms idle=212.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" = ?) [3675707] 14:13:02.130 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:02.130 [debug] QUERY OK source="sources" db=0.1ms idle=212.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:13:02.131 [debug] QUERY OK source="media_profiles" db=0.1ms idle=59.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] 14:13:02.131 [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 [3675707] 14:13:02.132 [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" = ?) [3675707] 14:13:02.132 [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] 14:13:02.133 [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 [] 14:13:02.133 [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 [] 14:13:02.133 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:02.135 [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 [] 14:13:02.135 [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 [] 14:13:02.135 [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 [] 14:13:02.135 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8d/11/8d117c6a2925a9da655afc7da93cfa8bd9d2d4ec6639132b1a27b2ba5a7bd21d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:03.078 [info] {"args":{"id":51},"id":541584,"meta":{},"system_time":1793041983078127635,"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"]} 14:13:03.078 [debug] QUERY OK source="sources" db=0.2ms idle=943.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:13:03.078 [debug] QUERY OK source="settings" db=0.1ms idle=943.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:03.079 [debug] QUERY OK source="media_profiles" db=0.1ms idle=943.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] 14:13:03.079 [debug] QUERY OK source="settings" db=0.1ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:03.079 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 14:13:03.254 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 14:13:03.255 [debug] QUERY OK source="media_items" db=0.5ms idle=176.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 14:13:03.256 [debug] QUERY OK source="media_items" db=0.5ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 14:13:03.258 [debug] QUERY OK source="tasks" db=0.1ms idle=178.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541603, 51, ~U[2026-10-26 19:13:03Z], ~U[2026-10-26 19:13:03Z]] 14:13:03.258 [info] {"args":{"id":51},"id":541584,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":179926,"event":"job:stop","queue_time":484061,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:13:03.839 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/04/dd/04dd0991d4552f40c1eb7e3308dadbedd8af5e5d7bff08c46ee1304d545e6669.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 14:13:03.839 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:13:03.839 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:13:03.840 [info] {"args":{"id":3440530},"id":541600,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1928247,"event":"job:stop","queue_time":11910572,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:03.862 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8d/11/8d117c6a2925a9da655afc7da93cfa8bd9d2d4ec6639132b1a27b2ba5a7bd21d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 14:13:03.862 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:13:03.862 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:13:03.862 [info] {"args":{"id":3675707},"id":541601,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1732357,"event":"job:stop","queue_time":12129511,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:16.435 [info] GET /sources/32/media/4241226 14:13:16.435 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4241226", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 14:13:16.436 [debug] QUERY OK source="media_items" db=0.1ms idle=977.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" = ?) [4241226] 14:13:16.436 [debug] QUERY OK source="tasks" db=0.1ms idle=977.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" [4241226] 14:13:16.436 [debug] QUERY OK source="sources" db=0.3ms idle=977.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:13:16.437 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=978.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" = ?) [540432] 14:13:16.437 [debug] QUERY OK source="settings" db=0.0ms idle=350.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:16.437 [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 [] 14:13:16.438 [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 [] 14:13:16.438 [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] 14:13:16.440 [info] Sent 200 in 4ms 14:13:21.259 [info] GET /sources/28/media/3954351 14:13:21.260 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3954351", "prevent_download" => "true", "source_id" => "28"} Pipelines: [:browser] 14:13:21.260 [debug] QUERY OK source="media_items" db=0.2ms idle=1801.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" = ?) [3954351] 14:13:21.261 [debug] QUERY OK source="tasks" db=0.2ms idle=1802.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" [3954351] 14:13:21.261 [debug] QUERY OK source="sources" db=0.3ms idle=1802.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [28] 14:13:21.262 [debug] QUERY OK source="settings" db=0.1ms idle=1169.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:21.262 [debug] QUERY OK source="settings" db=0.0ms idle=168.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:21.262 [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 [] 14:13:21.263 [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] 14:13:21.264 [info] Sent 200 in 4ms 14:13:26.261 [info] GET /sources/32/media/3811673 14:13:26.261 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3811673", "prevent_download" => "true", "source_id" => "32"} Pipelines: [:browser] 14:13:26.262 [debug] QUERY OK source="media_items" db=0.3ms idle=1803.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" = ?) [3811673] 14:13:26.262 [debug] QUERY OK source="tasks" db=0.1ms idle=1804.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" [3811673] 14:13:26.263 [debug] QUERY OK source="sources" db=0.3ms idle=1804.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:13:26.263 [debug] QUERY OK source="settings" db=0.1ms idle=1166.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:26.263 [debug] QUERY OK source="settings" db=0.1ms idle=165.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:26.264 [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 [] 14:13:26.264 [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] 14:13:26.265 [info] Sent 200 in 4ms 14:13:30.405 [info] {"source":"oban","duration":9662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:31.264 [info] GET /sources/37/media/3877285 14:13:31.265 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3877285", "prevent_download" => "true", "source_id" => "37"} Pipelines: [:browser] 14:13:31.265 [debug] QUERY OK source="media_items" db=0.2ms idle=1806.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" = ?) [3877285] 14:13:31.266 [debug] QUERY OK source="tasks" db=0.2ms idle=1807.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" [3877285] 14:13:31.266 [debug] QUERY OK source="sources" db=0.3ms idle=1161.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:13:31.266 [debug] QUERY OK source="settings" db=0.1ms idle=861.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:31.266 [debug] QUERY OK source="settings" db=0.1ms idle=161.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:31.267 [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 [] 14:13:31.267 [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] 14:13:31.268 [info] Sent 200 in 3ms 14:13:36.265 [info] GET /sources/30/media/4151358 14:13:36.265 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4151358", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 14:13:36.265 [debug] QUERY OK source="media_items" db=0.1ms idle=1806.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" = ?) [4151358] 14:13:36.266 [debug] QUERY OK source="tasks" db=0.1ms idle=1807.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" [4151358] 14:13:36.266 [debug] QUERY OK source="sources" db=0.2ms idle=1807.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:13:36.266 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1156.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 (?,?)) [519695, 522303] 14:13:36.267 [debug] QUERY OK source="settings" db=0.1ms idle=155.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:36.267 [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 [] 14:13:36.267 [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 [] 14:13:36.268 [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] 14:13:36.269 [info] Sent 200 in 4ms 14:13:41.266 [info] GET /sources/43/media/4157846 14:13:41.266 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4157846", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 14:13:41.267 [debug] QUERY OK source="media_items" db=0.2ms idle=1808.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" = ?) [4157846] 14:13:41.267 [debug] QUERY OK source="tasks" db=0.1ms idle=1809.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" [4157846] 14:13:41.268 [debug] QUERY OK source="sources" db=0.1ms idle=1809.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:13:41.269 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=1151.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 (?,?)) [520866, 523754] 14:13:41.269 [debug] QUERY OK source="settings" db=0.0ms idle=152.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:41.269 [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 [] 14:13:41.270 [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 [] 14:13:41.270 [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] 14:13:41.272 [info] Sent 200 in 5ms 14:13:46.267 [info] GET /sources/37/media/4237386 14:13:46.267 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4237386", "prevent_download" => "true", "source_id" => "37"} Pipelines: [:browser] 14:13:46.268 [debug] QUERY OK source="media_items" db=0.2ms idle=1809.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" = ?) [4237386] 14:13:46.268 [debug] QUERY OK source="tasks" db=0.1ms idle=1809.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" [4237386] 14:13:46.268 [debug] QUERY OK source="sources" db=0.2ms idle=1809.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:13:46.268 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1145.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" = ?) [539343] 14:13:46.269 [debug] QUERY OK source="settings" db=0.0ms idle=144.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:46.269 [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 [] 14:13:46.269 [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 [] 14:13:46.270 [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] 14:13:46.271 [info] Sent 200 in 3ms 14:13:51.268 [info] GET /sources/28/media/4233483 14:13:51.268 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4233483", "prevent_download" => "true", "source_id" => "28"} Pipelines: [:browser] 14:13:51.269 [debug] QUERY OK source="media_items" db=0.2ms idle=1810.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" = ?) [4233483] 14:13:51.269 [debug] QUERY OK source="tasks" db=0.1ms idle=1810.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" [4233483] 14:13:51.269 [debug] QUERY OK source="sources" db=0.2ms idle=1810.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [28] 14:13:51.270 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1141.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" = ?) [538830] 14:13:51.270 [debug] QUERY OK source="settings" db=0.0ms idle=141.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:51.270 [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 [] 14:13:51.271 [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 [] 14:13:51.271 [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] 14:13:51.273 [info] Sent 200 in 4ms 14:13:56.269 [info] GET /sources/43/media/3846793 14:13:56.269 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3846793", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 14:13:56.270 [debug] QUERY OK source="media_items" db=0.2ms idle=1811.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" = ?) [3846793] 14:13:56.270 [debug] QUERY OK source="tasks" db=0.1ms idle=1811.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" [3846793] 14:13:56.270 [debug] QUERY OK source="sources" db=0.3ms idle=1811.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:13:56.271 [debug] QUERY OK source="settings" db=0.0ms idle=1137.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:56.271 [debug] QUERY OK source="settings" db=0.1ms 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 [] 14:13:56.271 [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 [] 14:13:56.272 [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] 14:13:56.273 [info] Sent 200 in 4ms 14:14:00.288 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:14:00.411 [info] {"source":"oban","duration":5551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:01.271 [info] GET /sources/35/media/3848595 14:14:01.271 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3848595", "prevent_download" => "true", "source_id" => "35"} Pipelines: [:browser] 14:14:01.271 [debug] QUERY OK source="media_items" db=0.1ms idle=1813.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" = ?) [3848595] 14:14:01.272 [debug] QUERY OK source="tasks" db=0.0ms idle=1132.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" [3848595] 14:14:01.272 [debug] QUERY OK source="sources" db=0.1ms idle=983.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:14:01.272 [debug] QUERY OK source="settings" db=0.0ms idle=861.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:01.272 [debug] QUERY OK source="settings" db=0.1ms idle=132.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:01.273 [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 [] 14:14:01.273 [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] 14:14:01.274 [info] Sent 200 in 3ms 14:14:06.272 [info] GET /sources/43/media/4244205 14:14:06.273 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4244205", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 14:14:06.273 [debug] QUERY OK source="media_items" db=0.2ms idle=1814.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" = ?) [4244205] 14:14:06.274 [debug] QUERY OK source="tasks" db=0.2ms idle=1815.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" [4244205] 14:14:06.274 [debug] QUERY OK source="sources" db=0.2ms idle=1815.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:14:06.274 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1126.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" = ?) [540657] 14:14:06.275 [debug] QUERY OK source="settings" db=0.0ms idle=125.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:06.275 [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 [] 14:14:06.275 [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 [] 14:14:06.276 [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] 14:14:06.277 [info] Sent 200 in 4ms 14:14:11.273 [info] GET /sources/30/media/3927944 14:14:11.273 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3927944", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 14:14:11.273 [debug] QUERY OK source="media_items" db=0.2ms idle=1814.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" = ?) [3927944] 14:14:11.274 [debug] QUERY OK source="tasks" db=0.0ms idle=1815.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" [3927944] 14:14:11.274 [debug] QUERY OK source="sources" db=0.1ms idle=1815.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:14:11.274 [debug] QUERY OK source="settings" db=0.0ms idle=1118.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:11.274 [debug] QUERY OK source="settings" db=0.0ms idle=117.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:11.275 [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 [] 14:14:11.275 [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] 14:14:11.276 [info] Sent 200 in 2ms 14:14:16.274 [info] GET /sources/35/media/4073440 14:14:16.275 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4073440", "prevent_download" => "true", "source_id" => "35"} Pipelines: [:browser] 14:14:16.275 [debug] QUERY OK source="media_items" db=0.2ms idle=1816.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" = ?) [4073440] 14:14:16.275 [debug] QUERY OK source="tasks" db=0.1ms idle=1817.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" [4073440] 14:14:16.276 [debug] QUERY OK source="sources" db=0.2ms idle=1817.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:14:16.276 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1115.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 (?,?)) [501647, 504565] 14:14:16.276 [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 [] 14:14:16.277 [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 [] 14:14:16.277 [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 [] 14:14:16.278 [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] 14:14:16.279 [info] Sent 200 in 4ms 14:14:21.650 [info] GET /sources/43/media/4220740 14:14:21.650 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4220740", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 14:14:21.651 [debug] QUERY OK source="media_items" db=0.2ms idle=481.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4220740] 14:14:21.651 [debug] QUERY OK source="tasks" db=0.1ms idle=192.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [4220740] 14:14:21.651 [debug] QUERY OK source="sources" db=0.1ms idle=192.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:14:21.652 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=193.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" = ?) [535263] 14:14:21.652 [debug] QUERY OK source="settings" db=0.1ms idle=193.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:21.652 [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 [] 14:14:21.653 [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 [] 14:14:21.653 [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] 14:14:21.654 [info] Sent 200 in 4ms 14:14:30.419 [info] {"source":"oban","duration":7830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:14:56.687 [info] GET /sources/43/media/4244204 14:14:56.687 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4244204", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 14:14:56.688 [debug] QUERY OK source="media_items" db=0.1ms idle=1229.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" = ?) [4244204] 14:14:56.688 [debug] QUERY OK source="tasks" db=0.1ms idle=1229.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" [4244204] 14:14:56.688 [debug] QUERY OK source="sources" db=0.1ms idle=1229.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:14:56.689 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1230.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" = ?) [540656] 14:14:56.689 [debug] QUERY OK source="settings" db=0.0ms idle=480.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:56.689 [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 [] 14:14:56.690 [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 [] 14:14:56.690 [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] 14:14:56.691 [info] Sent 200 in 4ms 14:15:00.289 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:15:00.427 [info] {"source":"oban","duration":7121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:30.438 [info] {"source":"oban","duration":9693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.290 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:16:00.444 [info] {"source":"oban","duration":5684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:30.450 [info] {"source":"oban","duration":6201,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.291 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:17:00.461 [info] {"source":"oban","duration":9576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:17:30.467 [info] {"source":"oban","duration":5507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:31.404 [info] {"args":{"id":2130412},"id":535903,"meta":{},"system_time":1793042251404571320,"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"]} 14:17:31.405 [debug] QUERY OK source="media_items" db=0.2ms 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" = ?) [2130412] 14:17:31.405 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:17:31.405 [debug] QUERY OK source="sources" db=0.2ms idle=946.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:17:31.406 [debug] QUERY OK source="media_profiles" db=0.7ms idle=938.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] 14:17:31.407 [debug] QUERY OK source="media_items" db=0.2ms 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 [2130412] 14:17:31.409 [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" = ?) [2130412] 14:17:31.409 [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] 14:17:31.409 [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 [] 14:17:31.409 [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 [] 14:17:31.410 [debug] Running yt-dlp command for action: get_downloadable_status 14:17:31.412 [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 [] 14:17:31.412 [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 [] 14:17:31.412 [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 [] 14:17:31.412 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rF5iTGNG8Wc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/84/6784f4e545fbad60c7ce1510f9e6f78f193e2ca5142be716a5212dbe9f8a5b29.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:34.111 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rF5iTGNG8Wc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/84/6784f4e545fbad60c7ce1510f9e6f78f193e2ca5142be716a5212dbe9f8a5b29.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rF5iTGNG8Wc: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:17:34.111 [error] yt-dlp download error for media item #2130412: "ERROR: [youtube] rF5iTGNG8Wc: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:17:34.111 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2130412},"id":535903,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2706832,"event":"job:exception","queue_time":889643,"attempt":18,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:00.292 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:18:00.477 [info] {"source":"oban","duration":9637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:30.487 [info] {"source":"oban","duration":9481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.293 [info] {"source":"oban","duration":252,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:19:00.496 [info] {"source":"oban","duration":9217,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:30.507 [info] {"source":"oban","duration":10067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:36.413 [info] GET /sources/57/media/3441273 14:19:36.413 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3441273", "source_id" => "57"} Pipelines: [:browser] 14:19:36.413 [debug] QUERY OK source="media_items" db=0.1ms idle=1955.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" = ?) [3441273] 14:19:36.414 [debug] QUERY OK source="tasks" db=0.1ms idle=1955.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" [3441273] 14:19:36.414 [debug] QUERY OK source="sources" db=0.2ms idle=1868.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:19:36.414 [debug] QUERY OK source="settings" db=0.1ms idle=956.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:36.415 [debug] QUERY OK source="settings" db=0.0ms idle=868.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:36.415 [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 [] 14:19:36.416 [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] 14:19:36.417 [info] Sent 200 in 3ms 14:19:39.558 [info] {"args":{"id":38},"id":541287,"meta":{},"system_time":1793042379558657859,"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"]} 14:19:39.559 [debug] QUERY OK source="sources" db=0.8ms idle=100.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:19:39.560 [debug] QUERY OK source="settings" db=0.7ms idle=101.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:39.562 [debug] QUERY OK source="media_items" db=1.8ms idle=102.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")))) [38] 14:19:39.563 [debug] QUERY OK source="media_items" db=0.8ms idle=11.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [38] 14:19:39.564 [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] 14:19:39.564 [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 [] 14:19:39.564 [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 [] 14:19:39.567 [debug] QUERY OK source="media_items" db=1.2ms 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 [38] 14:19:39.568 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:19:39.569 [debug] Current batch of media processed. Will check again in 1000ms 14:19:39.569 [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 [] 14:19:39.569 [debug] QUERY OK source="settings" db=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:39.569 [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 [] 14:19:39.569 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCiSIL42pQRpc-8JNiYDFyzQ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/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/a2/df/a2dfebe6286ea2d449174df5a207f85a518c6dd0c1a4e729ceb699d8fefb24b8.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f1/2b/f12b95aae8c23d7c23fc5837bebe30f834c3aa3626bb8c0eaa15921cdce9c1ca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:40.569 [debug] Current batch of media processed. Will check again in 1000ms 14:19:41.262 [info] GET /sources/57/media/3441273/edit 14:19:41.262 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3441273", "source_id" => "57"} Pipelines: [:browser] 14:19:41.263 [debug] QUERY OK source="media_items" db=0.2ms idle=1695.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" = ?) [3441273] 14:19:41.263 [debug] QUERY OK source="settings" db=0.1ms idle=1694.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:41.263 [debug] QUERY OK source="settings" db=0.0ms idle=1694.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:41.264 [debug] QUERY OK source="settings" db=0.1ms idle=1694.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:41.264 [info] Sent 200 in 2ms 14:19:41.570 [debug] Current batch of media processed. Will check again in 1000ms 14:19:42.571 [debug] Current batch of media processed. Will check again in 1000ms 14:19:43.572 [debug] Current batch of media processed. Will check again in 1000ms 14:19:44.573 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Rendering a few Blender monkeys with OpenPBR.", "duration" => 804, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e100900_Rendering glTF from Blender with OpenPBR in Vulkan.mp4", "id" => "mwi7u5eT1jE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mwi7u5eT1jE", "playlist_index" => 1, "timestamp" => 1791545406, "title" => "Rendering glTF from Blender with OpenPBR in Vulkan", "upload_date" => "20261009"} 14:19:44.574 [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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:19:44.574 [debug] QUERY OK source="sources" db=0.2ms idle=115.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:19:44.576 [debug] QUERY OK source="media_items" db=1.1ms idle=116.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-09 11:30:06Z], 38] 14:19:44.577 [debug] QUERY OK source="media_items" db=0.6ms idle=117.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" ["Rendering a few Blender monkeys with OpenPBR.", "Rendering glTF from Blender with OpenPBR in Vulkan", "8aca31a3-8373-4ae2-aa3a-e71c57dd1f1b", "mwi7u5eT1jE", 804, false, "https://www.youtube.com/watch?v=mwi7u5eT1jE", 1, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e100900_Rendering glTF from Blender with OpenPBR in Vulkan.mp4", false, false, false, 38, [], 98, ~U[2026-10-09 11:30:06Z], ~U[2026-10-26 19:19:44Z], ~U[2026-10-26 19:19:44Z], "Rendering a few Blender monkeys with OpenPBR.", "Rendering glTF from Blender with OpenPBR in Vulkan", "mwi7u5eT1jE", 804, false, "https://www.youtube.com/watch?v=mwi7u5eT1jE", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e100900_Rendering glTF from Blender with OpenPBR in Vulkan.mp4", false, 38, ~U[2026-10-09 11:30:06Z]] 14:19:44.577 [debug] QUERY OK source="sources" db=0.2ms idle=19.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:19:44.577 [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] 14:19:44.578 [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 [4112551] 14:19:44.578 [debug] Current batch of media processed. Will check again in 1000ms 14:19:45.579 [debug] Current batch of media processed. Will check again in 1000ms 14:19:46.265 [info] GET /sources/55/media/3970113/edit 14:19:46.265 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3970113", "source_id" => "55"} Pipelines: [:browser] 14:19:46.266 [debug] QUERY OK source="media_items" db=0.2ms idle=1688.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" = ?) [3970113] 14:19:46.266 [debug] QUERY OK source="settings" db=0.1ms idle=1688.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:46.266 [debug] QUERY OK source="settings" db=0.0ms idle=1688.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:46.267 [debug] QUERY OK source="settings" db=0.0ms idle=1688.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:46.268 [info] Sent 200 in 2ms 14:19:46.580 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Digging into Vulkan, SDL3, and more for some future experiments", "duration" => 1178, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e091600_It's one triangle, Michael. What could it cost?.mp4", "id" => "KfgW91RSnp4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KfgW91RSnp4", "playlist_index" => 2, "timestamp" => 1789558216, "title" => "It's one triangle, Michael. What could it cost?", "upload_date" => "20260916"} 14:19:46.581 [debug] QUERY OK source="sources" db=0.2ms idle=314.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:19:46.581 [debug] QUERY OK source="sources" db=0.1ms idle=314.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:19:46.582 [debug] QUERY OK source="media_items" db=1.1ms idle=314.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-16 11:30:16Z], 38] 14:19:46.592 [debug] QUERY OK source="media_items" db=9.3ms idle=315.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" ["Digging into Vulkan, SDL3, and more for some future experiments", "It's one triangle, Michael. What could it cost?", "2444e777-75bd-422b-a6d6-8a6775b91986", "KfgW91RSnp4", 1178, false, "https://www.youtube.com/watch?v=KfgW91RSnp4", 2, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e091600_It's one triangle, Michael. What could it cost?.mp4", false, false, false, 38, [], 98, ~U[2026-09-16 11:30:16Z], ~U[2026-10-26 19:19:46Z], ~U[2026-10-26 19:19:46Z], "Digging into Vulkan, SDL3, and more for some future experiments", "It's one triangle, Michael. What could it cost?", "KfgW91RSnp4", 1178, false, "https://www.youtube.com/watch?v=KfgW91RSnp4", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e091600_It's one triangle, Michael. What could it cost?.mp4", false, 38, ~U[2026-09-16 11:30:16Z]] 14:19:46.593 [debug] QUERY OK source="sources" db=0.2ms idle=33.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:19:46.593 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:46.593 [debug] QUERY OK source="media_items" db=0.2ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3934229] 14:19:46.594 [debug] Current batch of media processed. Will check again in 1000ms 14:19:47.594 [debug] Current batch of media processed. Will check again in 1000ms 14:19:48.595 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Bit of introspection on this one. I went to Rust Conf and got a lot of renewed energy from the people I spoke to. If you came up to me at Rust Conf, thank you!", "duration" => 512, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e091400_why am I still programming?.mp4", "id" => "pOAj3mor8y8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pOAj3mor8y8", "playlist_index" => 3, "timestamp" => 1789385424, "title" => "why am I still programming?", "upload_date" => "20260914"} 14:19:48.596 [debug] QUERY OK source="sources" db=0.1ms idle=137.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:19:48.596 [debug] QUERY OK source="sources" db=0.1ms idle=137.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:19:48.597 [debug] QUERY OK source="media_items" db=0.9ms idle=137.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-14 11:30:24Z], 38] 14:19:48.599 [debug] QUERY OK source="media_items" db=1.5ms idle=138.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" ["Bit of introspection on this one. I went to Rust Conf and got a lot of renewed energy from the people I spoke to. If you came up to me at Rust Conf, thank you!", "why am I still programming?", "e6310301-bb11-4698-98a2-c42a173c0bab", "pOAj3mor8y8", 512, false, "https://www.youtube.com/watch?v=pOAj3mor8y8", 3, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e091400_why am I still programming?.mp4", false, false, false, 38, [], 98, ~U[2026-09-14 11:30:24Z], ~U[2026-10-26 19:19:48Z], ~U[2026-10-26 19:19:48Z], "Bit of introspection on this one. I went to Rust Conf and got a lot of renewed energy from the people I spoke to. If you came up to me at Rust Conf, thank you!", "why am I still programming?", "pOAj3mor8y8", 512, false, "https://www.youtube.com/watch?v=pOAj3mor8y8", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e091400_why am I still programming?.mp4", false, 38, ~U[2026-09-14 11:30:24Z]] 14:19:48.599 [debug] QUERY OK source="sources" db=0.1ms idle=37.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:19:48.599 [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] 14:19:48.600 [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 [3918414] 14:19:48.600 [debug] Current batch of media processed. Will check again in 1000ms 14:19:49.600 [debug] Current batch of media processed. Will check again in 1000ms 14:19:50.601 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Bevy Release Notes: https://bevy.org/news/bevy-0-19/\n \nBevy Migration Guide: https://bevy.org/learn/migration-guides/0-18-to-0-19/", "duration" => 205, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e062300_Bevy Game Engine 0.19.mp4", "id" => "Ej6ncNxNBAg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ej6ncNxNBAg", "playlist_index" => 4, "timestamp" => 1782214223, "title" => "Bevy Game Engine 0.19", "upload_date" => "20260623"} 14:19:50.602 [debug] QUERY OK source="sources" db=0.2ms idle=143.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:19:50.602 [debug] QUERY OK source="sources" db=0.1ms idle=143.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:19:50.603 [debug] QUERY OK source="media_items" db=1.0ms idle=143.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 11:30:23Z], 38] 14:19:50.605 [debug] QUERY OK source="media_items" db=1.3ms idle=145.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" ["Bevy Release Notes: https://bevy.org/news/bevy-0-19/\n \nBevy Migration Guide: https://bevy.org/learn/migration-guides/0-18-to-0-19/", "Bevy Game Engine 0.19", "908909d2-f0ef-4257-91fb-aca5dcc834a8", "Ej6ncNxNBAg", 205, false, "https://www.youtube.com/watch?v=Ej6ncNxNBAg", 4, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e062300_Bevy Game Engine 0.19.mp4", false, false, false, 38, [], 98, ~U[2026-06-23 11:30:23Z], ~U[2026-10-26 19:19:50Z], ~U[2026-10-26 19:19:50Z], "Bevy Release Notes: https://bevy.org/news/bevy-0-19/\n \nBevy Migration Guide: https://bevy.org/learn/migration-guides/0-18-to-0-19/", "Bevy Game Engine 0.19", "Ej6ncNxNBAg", 205, false, "https://www.youtube.com/watch?v=Ej6ncNxNBAg", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e062300_Bevy Game Engine 0.19.mp4", false, 38, ~U[2026-06-23 11:30:23Z]] 14:19:50.605 [debug] QUERY OK source="sources" db=0.1ms idle=41.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:19:50.605 [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] 14:19:50.606 [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 [3264872] 14:19:50.606 [debug] Current batch of media processed. Will check again in 1000ms 14:19:51.606 [debug] Current batch of media processed. Will check again in 1000ms 14:19:52.607 [debug] Current batch of media processed. Will check again in 1000ms 14:19:53.608 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I submitted for Bevy Jam 7! I like the things that I worked on during the week, and (perhaps obviously) don't like the things I rushed over the weekend.\n\nCode: https://github.com/ChristopherBiscardi/bevy-jam-7/tree/6e8d26bb6f94bb62d43146b088660e7652c818bb", "duration" => 1749, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e021900_My Bevy Jam 7 Entry.mp4", "id" => "gaMPc-5KkOQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gaMPc-5KkOQ", "playlist_index" => 5, "timestamp" => 1771468515, "title" => "My Bevy Jam 7 Entry", "upload_date" => "20260219"} 14:19:53.609 [debug] QUERY OK source="sources" db=0.2ms idle=1150.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:19:53.609 [debug] QUERY OK source="sources" db=0.2ms idle=1150.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:19:53.611 [debug] QUERY OK source="media_items" db=1.2ms idle=1151.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-19 02:35:15Z], 38] 14:19:53.613 [debug] QUERY OK source="media_items" db=1.5ms idle=1044.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 submitted for Bevy Jam 7! I like the things that I worked on during the week, and (perhaps obviously) don't like the things I rushed over the weekend.\n\nCode: https://github.com/ChristopherBiscardi/bevy-jam-7/tree/6e8d26bb6f94bb62d43146b088660e7652c818bb", "My Bevy Jam 7 Entry", "1a75495d-a1b4-46cb-8410-46fca520b2cc", "gaMPc-5KkOQ", 1749, false, "https://www.youtube.com/watch?v=gaMPc-5KkOQ", 5, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e021900_My Bevy Jam 7 Entry.mp4", false, false, false, 38, [], 98, ~U[2026-02-19 02:35:15Z], ~U[2026-10-26 19:19:53Z], ~U[2026-10-26 19:19:53Z], "I submitted for Bevy Jam 7! I like the things that I worked on during the week, and (perhaps obviously) don't like the things I rushed over the weekend.\n\nCode: https://github.com/ChristopherBiscardi/bevy-jam-7/tree/6e8d26bb6f94bb62d43146b088660e7652c818bb", "My Bevy Jam 7 Entry", "gaMPc-5KkOQ", 1749, false, "https://www.youtube.com/watch?v=gaMPc-5KkOQ", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e021900_My Bevy Jam 7 Entry.mp4", false, 38, ~U[2026-02-19 02:35:15Z]] 14:19:53.613 [debug] QUERY OK source="sources" db=0.2ms idle=44.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:19:53.613 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:53.614 [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 [2302048] 14:19:53.614 [debug] Current batch of media processed. Will check again in 1000ms 14:19:54.614 [debug] Current batch of media processed. Will check again in 1000ms 14:19:55.616 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Bevy Jam 7 is coming! Here are some of the crates that will find their way into my submission, and alternatives.\n\nbevy jam 7: https://itch.io/jam/bevy-jam-7\nbevy_cli: https://github.com/TheBevyFlock/bevy_cli\nbevy_inspector_egui: https://github.com/jakobhellermann/bevy-inspector-egui\nbevy_seedling: https://github.com/CorvusPrudens/bevy_seedling\nskein: https://bevyskein.dev/\nnoiz: https://crates.io/crates/noiz\nbevy_asset_loader: https://github.com/NiklasEi/bevy_asset_loader\nbevy_hanabi: https://github.com/djeedai/bevy_hanabi\n\n00:00 - Bevy Jam 7\n00:26 - bevy_cli\n06:26 - Inspectors\n09:56 - Input Management\n12:40 - audio\n15:29 - level editors\n17:38 - noiz\n18:45 - bevy_asset_loader\n20:01 - Particles\n20:43 - bevy_dev_tools", "duration" => 1323, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e020500_Useful Crates for Bevy Jam 7.mp4", "id" => "Xl2KXX_8sCs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Xl2KXX_8sCs", "playlist_index" => 6, "timestamp" => 1770294600, "title" => "Useful Crates for Bevy Jam 7", "upload_date" => "20260205"} 14:19:55.616 [debug] QUERY OK source="sources" db=0.1ms idle=157.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:19:55.617 [debug] QUERY OK source="sources" db=0.2ms idle=158.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:19:55.618 [debug] QUERY OK source="media_items" db=1.2ms idle=158.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 12:30:00Z], 38] 14:19:55.621 [debug] QUERY OK source="media_items" db=1.9ms idle=160.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" ["Bevy Jam 7 is coming! Here are some of the crates that will find their way into my submission, and alternatives.\n\nbevy jam 7: https://itch.io/jam/bevy-jam-7\nbevy_cli: https://github.com/TheBevyFlock/bevy_cli\nbevy_inspector_egui: https://github.com/jakobhellermann/bevy-inspector-egui\nbevy_seedling: https://github.com/CorvusPrudens/bevy_seedling\nskein: https://bevyskein.dev/\nnoiz: https://crates.io/crates/noiz\nbevy_asset_loader: https://github.com/NiklasEi/bevy_asset_loader\nbevy_hanabi: https://github.com/djeedai/bevy_hanabi\n\n00:00 - Bevy Jam 7\n00:26 - bevy_cli\n06:26 - Inspectors\n09:56 - Input Management\n12:40 - audio\n15:29 - level editors\n17:38 - noiz\n18:45 - bevy_asset_loader\n20:01 - Particles\n20:43 - bevy_dev_tools", "Useful Crates for Bevy Jam 7", "e3118155-e608-4f72-8727-1cb6b6364815", "Xl2KXX_8sCs", 1323, false, "https://www.youtube.com/watch?v=Xl2KXX_8sCs", 6, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e020500_Useful Crates for Bevy Jam 7.mp4", false, false, false, 38, [], 98, ~U[2026-02-05 12:30:00Z], ~U[2026-10-26 19:19:55Z], ~U[2026-10-26 19:19:55Z], "Bevy Jam 7 is coming! Here are some of the crates that will find their way into my submission, and alternatives.\n\nbevy jam 7: https://itch.io/jam/bevy-jam-7\nbevy_cli: https://github.com/TheBevyFlock/bevy_cli\nbevy_inspector_egui: https://github.com/jakobhellermann/bevy-inspector-egui\nbevy_seedling: https://github.com/CorvusPrudens/bevy_seedling\nskein: https://bevyskein.dev/\nnoiz: https://crates.io/crates/noiz\nbevy_asset_loader: https://github.com/NiklasEi/bevy_asset_loader\nbevy_hanabi: https://github.com/djeedai/bevy_hanabi\n\n00:00 - Bevy Jam 7\n00:26 - bevy_cli\n06:26 - Inspectors\n09:56 - Input Management\n12:40 - audio\n15:29 - level editors\n17:38 - noiz\n18:45 - bevy_asset_loader\n20:01 - Particles\n20:43 - bevy_dev_tools", "Useful Crates for Bevy Jam 7", "Xl2KXX_8sCs", 1323, false, "https://www.youtube.com/watch?v=Xl2KXX_8sCs", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e020500_Useful Crates for Bevy Jam 7.mp4", false, 38, ~U[2026-02-05 12:30:00Z]] 14:19:55.621 [debug] QUERY OK source="sources" db=0.2ms idle=50.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:19:55.621 [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] 14:19:55.622 [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 [2195118] 14:19:55.622 [debug] Current batch of media processed. Will check again in 1000ms 14:19:56.622 [debug] Current batch of media processed. Will check again in 1000ms 14:19:57.623 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A flappy bird implementation in Bevy! *Flappy Bird* is meant to give you a taste of Rust through using the Bevy game engine. It is designed for a first-time Bevy user.\n\nJoin the Rust Adventure Discord if you have questions: https://discord.gg/Zd6vJvDwYu\n\nRust Adventure: https://www.rustadventure.dev/\nFlappy Bird Workshop: https://www.rustadventure.dev/flappy-bird\nBevy Jam 7: https://itch.io/jam/bevy-jam-7\n\n00:00 - Flappy Bird!\n05:02 - Camera2d Projections\n11:16 - Required Components: Gravity and Velocity\n17:19 - Triggering Observers for Out of Bounds\n21:27 - Spawning Pipes\n26:40 - Moving Pipes\n32:15 - Collision and Gizmos\n36:34 - Keeping Score\n38:45 - Background Materials\n42:35 - Cleanup and Polish", "duration" => 2722, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e012100_Full Bevy 0.18 Flappy Bird Workshop.mp4", "id" => "jKSZ8k70dxM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jKSZ8k70dxM", "playlist_index" => 7, "timestamp" => 1768998600, "title" => "Full Bevy 0.18 Flappy Bird Workshop", "upload_date" => "20260121"} 14:19:57.624 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms 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 (?)) [38] 14:19:57.624 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [38] 14:19:57.626 [debug] QUERY OK source="media_items" db=1.1ms idle=166.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 12:30:00Z], 38] 14:19:57.637 [debug] QUERY OK source="media_items" db=11.0ms idle=167.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 flappy bird implementation in Bevy! *Flappy Bird* is meant to give you a taste of Rust through using the Bevy game engine. It is designed for a first-time Bevy user.\n\nJoin the Rust Adventure Discord if you have questions: https://discord.gg/Zd6vJvDwYu\n\nRust Adventure: https://www.rustadventure.dev/\nFlappy Bird Workshop: https://www.rustadventure.dev/flappy-bird\nBevy Jam 7: https://itch.io/jam/bevy-jam-7\n\n00:00 - Flappy Bird!\n05:02 - Camera2d Projections\n11:16 - Required Components: Gravity and Velocity\n17:19 - Triggering Observers for Out of Bounds\n21:27 - Spawning Pipes\n26:40 - Moving Pipes\n32:15 - Collision and Gizmos\n36:34 - Keeping Score\n38:45 - Background Materials\n42:35 - Cleanup and Polish", "Full Bevy 0.18 Flappy Bird Workshop", "210780cd-10da-453e-8e44-314c2a716572", "jKSZ8k70dxM", 2722, false, "https://www.youtube.com/watch?v=jKSZ8k70dxM", 7, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e012100_Full Bevy 0.18 Flappy Bird Workshop.mp4", false, false, false, 38, [], 98, ~U[2026-01-21 12:30:00Z], ~U[2026-10-26 19:19:57Z], ~U[2026-10-26 19:19:57Z], "A flappy bird implementation in Bevy! *Flappy Bird* is meant to give you a taste of Rust through using the Bevy game engine. It is designed for a first-time Bevy user.\n\nJoin the Rust Adventure Discord if you have questions: https://discord.gg/Zd6vJvDwYu\n\nRust Adventure: https://www.rustadventure.dev/\nFlappy Bird Workshop: https://www.rustadventure.dev/flappy-bird\nBevy Jam 7: https://itch.io/jam/bevy-jam-7\n\n00:00 - Flappy Bird!\n05:02 - Camera2d Projections\n11:16 - Required Components: Gravity and Velocity\n17:19 - Triggering Observers for Out of Bounds\n21:27 - Spawning Pipes\n26:40 - Moving Pipes\n32:15 - Collision and Gizmos\n36:34 - Keeping Score\n38:45 - Background Materials\n42:35 - Cleanup and Polish", "Full Bevy 0.18 Flappy Bird Workshop", "jKSZ8k70dxM", 2722, false, "https://www.youtube.com/watch?v=jKSZ8k70dxM", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e012100_Full Bevy 0.18 Flappy Bird Workshop.mp4", false, 38, ~U[2026-01-21 12:30:00Z]] 14:19:57.638 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:19:57.638 [debug] QUERY OK source="media_profiles" db=0.2ms idle=13.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:57.639 [debug] QUERY OK source="media_items" db=0.2ms idle=14.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2074959] 14:19:57.639 [debug] Current batch of media processed. Will check again in 1000ms 14:19:58.639 [debug] Current batch of media processed. Will check again in 1000ms 14:19:59.640 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "An introductory compute shader landscape generation project. We use noise and a pre-allocated mesh buffer to construct landscape and talk about how mesh attributes are packed into vertex buffers, how compute shaders get initialized and such, workgroups, and more.\n\nCode from today: https://github.com/rust-adventure/bevy-examples/tree/2384d59b24e74af068c8b350ef2940e7c685643f/examples/landscape-compute-intro\n\nPR mentioned in the video: https://github.com/bevyengine/bevy/pull/22296\n\nAsk questions in the Rust Adventure Discord: https://discord.gg/zxsWUhu6cu", "duration" => 3486, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011400_Introductory Compute Shader Landscapes in Bevy.mp4", "id" => "yBF23EWxsc8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yBF23EWxsc8", "playlist_index" => 8, "timestamp" => 1768412658, "title" => "Introductory Compute Shader Landscapes in Bevy", "upload_date" => "20260114"} 14:19:59.641 [debug] QUERY OK source="sources" db=0.2ms idle=182.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:19:59.641 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:19:59.643 [debug] QUERY OK source="media_items" db=1.2ms idle=183.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-14 17:44:18Z], 38] 14:19:59.645 [debug] QUERY OK source="media_items" db=1.7ms idle=184.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" ["An introductory compute shader landscape generation project. We use noise and a pre-allocated mesh buffer to construct landscape and talk about how mesh attributes are packed into vertex buffers, how compute shaders get initialized and such, workgroups, and more.\n\nCode from today: https://github.com/rust-adventure/bevy-examples/tree/2384d59b24e74af068c8b350ef2940e7c685643f/examples/landscape-compute-intro\n\nPR mentioned in the video: https://github.com/bevyengine/bevy/pull/22296\n\nAsk questions in the Rust Adventure Discord: https://discord.gg/zxsWUhu6cu", "Introductory Compute Shader Landscapes in Bevy", "0fc72bea-7a85-4a96-aee3-db9c80c5eee0", "yBF23EWxsc8", 3486, false, "https://www.youtube.com/watch?v=yBF23EWxsc8", 8, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011400_Introductory Compute Shader Landscapes in Bevy.mp4", false, false, false, 38, [], 97, ~U[2026-01-14 17:44:18Z], ~U[2026-10-26 19:19:59Z], ~U[2026-10-26 19:19:59Z], "An introductory compute shader landscape generation project. We use noise and a pre-allocated mesh buffer to construct landscape and talk about how mesh attributes are packed into vertex buffers, how compute shaders get initialized and such, workgroups, and more.\n\nCode from today: https://github.com/rust-adventure/bevy-examples/tree/2384d59b24e74af068c8b350ef2940e7c685643f/examples/landscape-compute-intro\n\nPR mentioned in the video: https://github.com/bevyengine/bevy/pull/22296\n\nAsk questions in the Rust Adventure Discord: https://discord.gg/zxsWUhu6cu", "Introductory Compute Shader Landscapes in Bevy", "yBF23EWxsc8", 3486, false, "https://www.youtube.com/watch?v=yBF23EWxsc8", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011400_Introductory Compute Shader Landscapes in Bevy.mp4", false, 38, ~U[2026-01-14 17:44:18Z]] 14:19:59.645 [debug] QUERY OK source="sources" db=0.2ms idle=70.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:19:59.646 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:19:59.646 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2020529] 14:19:59.646 [debug] Current batch of media processed. Will check again in 1000ms 14:20:00.294 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:20:00.515 [info] {"source":"oban","duration":7345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:00.647 [debug] Current batch of media processed. Will check again in 1000ms 14:20:01.648 [debug] Current batch of media processed. Will check again in 1000ms 14:20:02.649 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Bevy Release: https://bevy.org/news/bevy-0-18/\nMigration Guides: https://bevy.org/learn/migration-guides/introduction/\nToroban: https://store.steampowered.com/app/1961850/Toroban/\nRust Adventure: https://www.rustadventure.dev/", "duration" => 330, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011300_The Bevy Game Engine 0.18 Release.mp4", "id" => "ZPsN_iQ4Ezc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZPsN_iQ4Ezc", "playlist_index" => 9, "timestamp" => 1768340755, "title" => "The Bevy Game Engine 0.18 Release", "upload_date" => "20260113"} 14:20:02.650 [debug] QUERY OK source="sources" db=0.3ms idle=1191.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:20:02.651 [debug] QUERY OK source="sources" db=0.3ms idle=1192.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:20:02.652 [debug] QUERY OK source="media_items" db=0.9ms idle=1073.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-13 21:45:55Z], 38] 14:20:02.653 [debug] QUERY OK source="media_items" db=1.4ms idle=193.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" ["Bevy Release: https://bevy.org/news/bevy-0-18/\nMigration Guides: https://bevy.org/learn/migration-guides/introduction/\nToroban: https://store.steampowered.com/app/1961850/Toroban/\nRust Adventure: https://www.rustadventure.dev/", "The Bevy Game Engine 0.18 Release", "ce3bad4f-2061-4542-a306-87953cd1ab2b", "ZPsN_iQ4Ezc", 330, false, "https://www.youtube.com/watch?v=ZPsN_iQ4Ezc", 9, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011300_The Bevy Game Engine 0.18 Release.mp4", false, false, false, 38, [], 98, ~U[2026-01-13 21:45:55Z], ~U[2026-10-26 19:20:02Z], ~U[2026-10-26 19:20:02Z], "Bevy Release: https://bevy.org/news/bevy-0-18/\nMigration Guides: https://bevy.org/learn/migration-guides/introduction/\nToroban: https://store.steampowered.com/app/1961850/Toroban/\nRust Adventure: https://www.rustadventure.dev/", "The Bevy Game Engine 0.18 Release", "ZPsN_iQ4Ezc", 330, false, "https://www.youtube.com/watch?v=ZPsN_iQ4Ezc", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011300_The Bevy Game Engine 0.18 Release.mp4", false, 38, ~U[2026-01-13 21:45:55Z]] 14:20:02.654 [debug] QUERY OK source="sources" db=0.1ms idle=74.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:20:02.654 [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] 14:20:02.654 [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 [2014095] 14:20:02.654 [debug] Current batch of media processed. Will check again in 1000ms 14:20:03.655 [debug] Current batch of media processed. Will check again in 1000ms 14:20:04.656 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A new type of video for the channel: devlogs. Covering Mesh Shaders, some thoughts about the channel, and Rust Adventure", "duration" => 1987, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011200_devlog: new year, mesh shaders, rust adventure.mp4", "id" => "5sjyo2TKL0Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5sjyo2TKL0Y", "playlist_index" => 10, "timestamp" => 1768221010, "title" => "devlog: new year, mesh shaders, rust adventure", "upload_date" => "20260112"} 14:20:04.657 [debug] QUERY OK source="sources" db=0.2ms idle=198.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:20:04.657 [debug] QUERY OK source="sources" db=0.1ms idle=198.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:20:04.658 [debug] QUERY OK source="media_items" db=0.9ms idle=199.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-12 12:30:10Z], 38] 14:20:04.659 [debug] QUERY OK source="media_items" db=0.8ms idle=200.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 new type of video for the channel: devlogs. Covering Mesh Shaders, some thoughts about the channel, and Rust Adventure", "devlog: new year, mesh shaders, rust adventure", "ea94311c-a9ec-4490-b628-5f9f6c4e040b", "5sjyo2TKL0Y", 1987, false, "https://www.youtube.com/watch?v=5sjyo2TKL0Y", 10, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011200_devlog: new year, mesh shaders, rust adventure.mp4", false, false, false, 38, [], 98, ~U[2026-01-12 12:30:10Z], ~U[2026-10-26 19:20:04Z], ~U[2026-10-26 19:20:04Z], "A new type of video for the channel: devlogs. Covering Mesh Shaders, some thoughts about the channel, and Rust Adventure", "devlog: new year, mesh shaders, rust adventure", "5sjyo2TKL0Y", 1987, false, "https://www.youtube.com/watch?v=5sjyo2TKL0Y", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011200_devlog: new year, mesh shaders, rust adventure.mp4", false, 38, ~U[2026-01-12 12:30:10Z]] 14:20:04.660 [debug] QUERY OK source="sources" db=0.1ms idle=77.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:04.660 [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] 14:20:04.660 [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 [2003157] 14:20:04.661 [debug] Current batch of media processed. Will check again in 1000ms 14:20:05.661 [debug] Current batch of media processed. Will check again in 1000ms 14:20:06.662 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A Fistful of Boomerangs: https://4d4xfun.itch.io/bevy-jam-6\n\nToroban: https://store.steampowered.com/app/1961850/Toroban/\nSimulo: https://store.steampowered.com/app/3291520/Simulo/\nLong Story 2: https://store.steampowered.com/app/2427820/LongStory_2/\n\nnoiz: https://docs.rs/noiz/latest/noiz/\nAvian Physics: https://github.com/avianphysics/avian\nglizmo: https://crates.io/crates/glizmo\nbevy-clipmap: https://github.com/kirillsurkov/bevy-clipmap\nmotiongfx: https://github.com/voxell-tech/motiongfx", "duration" => 475, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e010100_This Year in Bevy 2025.mp4", "id" => "ea-fji5ULDg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ea-fji5ULDg", "playlist_index" => 11, "timestamp" => 1767238421, "title" => "This Year in Bevy 2025", "upload_date" => "20260101"} 14:20:06.663 [debug] QUERY OK source="sources" db=0.2ms idle=204.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:20:06.663 [debug] QUERY OK source="sources" db=0.1ms idle=204.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:20:06.664 [debug] QUERY OK source="media_items" db=1.2ms idle=205.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-01 03:33:41Z], 38] 14:20:06.668 [debug] QUERY OK source="media_items" db=3.2ms idle=206.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 Fistful of Boomerangs: https://4d4xfun.itch.io/bevy-jam-6\n\nToroban: https://store.steampowered.com/app/1961850/Toroban/\nSimulo: https://store.steampowered.com/app/3291520/Simulo/\nLong Story 2: https://store.steampowered.com/app/2427820/LongStory_2/\n\nnoiz: https://docs.rs/noiz/latest/noiz/\nAvian Physics: https://github.com/avianphysics/avian\nglizmo: https://crates.io/crates/glizmo\nbevy-clipmap: https://github.com/kirillsurkov/bevy-clipmap\nmotiongfx: https://github.com/voxell-tech/motiongfx", "This Year in Bevy 2025", "dd2c7d1e-1b08-49fa-ab32-cc30646c0017", "ea-fji5ULDg", 475, false, "https://www.youtube.com/watch?v=ea-fji5ULDg", 11, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e010100_This Year in Bevy 2025.mp4", false, false, false, 38, [], 98, ~U[2026-01-01 03:33:41Z], ~U[2026-10-26 19:20:06Z], ~U[2026-10-26 19:20:06Z], "A Fistful of Boomerangs: https://4d4xfun.itch.io/bevy-jam-6\n\nToroban: https://store.steampowered.com/app/1961850/Toroban/\nSimulo: https://store.steampowered.com/app/3291520/Simulo/\nLong Story 2: https://store.steampowered.com/app/2427820/LongStory_2/\n\nnoiz: https://docs.rs/noiz/latest/noiz/\nAvian Physics: https://github.com/avianphysics/avian\nglizmo: https://crates.io/crates/glizmo\nbevy-clipmap: https://github.com/kirillsurkov/bevy-clipmap\nmotiongfx: https://github.com/voxell-tech/motiongfx", "This Year in Bevy 2025", "ea-fji5ULDg", 475, false, "https://www.youtube.com/watch?v=ea-fji5ULDg", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e010100_This Year in Bevy 2025.mp4", false, 38, ~U[2026-01-01 03:33:41Z]] 14:20:06.668 [debug] QUERY OK source="sources" db=0.2ms idle=84.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:20:06.669 [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] 14:20:06.669 [debug] QUERY OK source="media_items" db=0.1ms 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 [1911765] 14:20:06.669 [debug] Current batch of media processed. Will check again in 1000ms 14:20:07.670 [debug] Current batch of media processed. Will check again in 1000ms 14:20:08.671 [debug] Current batch of media processed. Will check again in 1000ms 14:20:09.672 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "https://thisweekinbevy.com/issue/2025-12-22-shift-o-souprune-and-volumetric-clouds\n\nThis week we have a combination of features that made it into the 0.18 release candidate, as well as the first PRs merged for the 0.19 cycle.\n\nMerges this week include global gizmos, glTF extension handling, a FullscreenMaterial, and more.\n\nShift-O is a Bevy Jam 6 game with updates this week, while SoupRune is an in-progress framework for Undertale/Deltarune fan games.\n\n00:00 - Shift-O, SoupRune, and Volumetric Clouds\n00:25 - Easy Demo Recording\n00:59 - Global Gizmos\n01:25 - glTF Extension Handling\n02:06 - FullscreenMaterial\n02:33 - PreviousState\n02:51 - Font Weight\n03:01 - RenderTarget as Component\n03:09 - Transparent Sorting improvements\n03:40 - Shift-O\n03:57 - SoupRune\n04:02 - Spacefaring.is\n04:12 - Volumetric Clouds\n04:35 - Kinect 360 Particles\n04:42 - Recursive Portals\n04:51 - Geometry Clipmaps\n05:04 - Cuboid Wars\n05:24 - bevy_tiled_background\n05:37 - Actuate v0.21\n05:48 - Maiu Online Devlog #8\n05:59 - How I made AAA Sky Rendering from scratch\n06:13 - Unifying the Fuller Stack with Entity Component System", "duration" => 401, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e122400_Shift-O, SoupRune, and Volumetric Clouds - This Week in Bevy.mp4", "id" => "jqHh06r2-Wc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jqHh06r2-Wc", "playlist_index" => 12, "timestamp" => 1766579473, "title" => "Shift-O, SoupRune, and Volumetric Clouds - This Week in Bevy", "upload_date" => "20251224"} 14:20:09.673 [debug] QUERY OK source="sources" db=0.1ms idle=1214.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:20:09.673 [debug] QUERY OK source="sources" db=0.1ms idle=1214.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:20:09.674 [debug] QUERY OK source="media_items" db=1.0ms idle=1214.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-24 12:31:13Z], 38] 14:20:09.680 [debug] QUERY OK source="media_items" db=5.5ms idle=1088.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" ["https://thisweekinbevy.com/issue/2025-12-22-shift-o-souprune-and-volumetric-clouds\n\nThis week we have a combination of features that made it into the 0.18 release candidate, as well as the first PRs merged for the 0.19 cycle.\n\nMerges this week include global gizmos, glTF extension handling, a FullscreenMaterial, and more.\n\nShift-O is a Bevy Jam 6 game with updates this week, while SoupRune is an in-progress framework for Undertale/Deltarune fan games.\n\n00:00 - Shift-O, SoupRune, and Volumetric Clouds\n00:25 - Easy Demo Recording\n00:59 - Global Gizmos\n01:25 - glTF Extension Handling\n02:06 - FullscreenMaterial\n02:33 - PreviousState\n02:51 - Font Weight\n03:01 - RenderTarget as Component\n03:09 - Transparent Sorting improvements\n03:40 - Shift-O\n03:57 - SoupRune\n04:02 - Spacefaring.is\n04:12 - Volumetric Clouds\n04:35 - Kinect 360 Particles\n04:42 - Recursive Portals\n04:51 - Geometry Clipmaps\n05:04 - Cuboid Wars\n05:24 - bevy_tiled_background\n05:37 - Actuate v0.21\n05:48 - Maiu Online Devlog #8\n05:59 - How I made AAA Sky Rendering from scratch\n06:13 - Unifying the Fuller Stack with Entity Component System", "Shift-O, SoupRune, and Volumetric Clouds - This Week in Bevy", "0fe67cd5-8aeb-4ae1-81b6-d76c981a1b54", "jqHh06r2-Wc", 401, false, "https://www.youtube.com/watch?v=jqHh06r2-Wc", 12, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e122400_Shift-O, SoupRune, and Volumetric Clouds - This Week in Bevy.mp4", false, false, false, 38, [], 98, ~U[2025-12-24 12:31:13Z], ~U[2026-10-26 19:20:09Z], ~U[2026-10-26 19:20:09Z], "https://thisweekinbevy.com/issue/2025-12-22-shift-o-souprune-and-volumetric-clouds\n\nThis week we have a combination of features that made it into the 0.18 release candidate, as well as the first PRs merged for the 0.19 cycle.\n\nMerges this week include global gizmos, glTF extension handling, a FullscreenMaterial, and more.\n\nShift-O is a Bevy Jam 6 game with updates this week, while SoupRune is an in-progress framework for Undertale/Deltarune fan games.\n\n00:00 - Shift-O, SoupRune, and Volumetric Clouds\n00:25 - Easy Demo Recording\n00:59 - Global Gizmos\n01:25 - glTF Extension Handling\n02:06 - FullscreenMaterial\n02:33 - PreviousState\n02:51 - Font Weight\n03:01 - RenderTarget as Component\n03:09 - Transparent Sorting improvements\n03:40 - Shift-O\n03:57 - SoupRune\n04:02 - Spacefaring.is\n04:12 - Volumetric Clouds\n04:35 - Kinect 360 Particles\n04:42 - Recursive Portals\n04:51 - Geometry Clipmaps\n05:04 - Cuboid Wars\n05:24 - bevy_tiled_background\n05:37 - Actuate v0.21\n05:48 - Maiu Online Devlog #8\n05:59 - How I made AAA Sky Rendering from scratch\n06:13 - Unifying the Fuller Stack with Entity Component System", "Shift-O, SoupRune, and Volumetric Clouds - This Week in Bevy", "jqHh06r2-Wc", 401, false, "https://www.youtube.com/watch?v=jqHh06r2-Wc", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e122400_Shift-O, SoupRune, and Volumetric Clouds - This Week in Bevy.mp4", false, 38, ~U[2025-12-24 12:31:13Z]] 14:20:09.681 [debug] QUERY OK source="sources" db=0.2ms idle=93.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:09.681 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:09.681 [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 [1850728] 14:20:09.681 [debug] Current batch of media processed. Will check again in 1000ms 14:20:10.682 [debug] Current batch of media processed. Will check again in 1000ms 14:20:11.683 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "https://thisweekinbevy.com/issue/2025-12-15-bevy-018-release-candidate-metrics-dashboard-and-more\n\nBevy 0.18-rc.1 is out! The release train is on track for this release, occurring about 3 months after the last release and as usual anything that is ready on main has been included. There is no migration guide collected onto a single page yet, so if you'd prefer to wait for that you can expect it fairly soon.\n\n00:00 - Bevy 0.18.0-rc.1\n00:56 - Bevy Metrics Dashboard\n01:18 - Infrastructure for Portals and Mirrors\n01:53 - Decals\n02:25 - Gizmos\n02:38 - ImageSample address_mode and filters\n03:05 - Misc PRs\n04:01 - City Generator\n04:13 - Virtual Machine\n04:26 - 3D light distribution viewer\n04:48 - INSANIO\n05:02 - WIP game worldmap\n05:11 - Kintect\n05:18 - A Dioxus/Bevy Editor\n05:24 - bevy_map_editor progress\n05:31 - Screen Annotations\n05:57 - FoilRs\n06:05 - Multitouch camera control\n06:11 - png level generation\n06:50 - Signs of Danger\n07:11 - Fish Inverse Kinematics\n07:22 Crates", "duration" => 536, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121800_Bevy 0.18 Release Candidate, Metrics Dashboard, and more - This Week in Bevy.mp4", "id" => "g8t-LRr3M2A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=g8t-LRr3M2A", "playlist_index" => 13, "timestamp" => 1766061000, "title" => "Bevy 0.18 Release Candidate, Metrics Dashboard, and more - This Week in Bevy", "upload_date" => "20251218"} 14:20:11.684 [debug] QUERY OK source="sources" db=0.2ms idle=225.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:20:11.684 [debug] QUERY OK source="sources" db=0.1ms idle=225.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:11.686 [debug] QUERY OK source="media_items" db=1.3ms idle=226.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-18 12:30:00Z], 38] 14:20:11.688 [debug] QUERY OK source="media_items" db=1.8ms idle=227.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://thisweekinbevy.com/issue/2025-12-15-bevy-018-release-candidate-metrics-dashboard-and-more\n\nBevy 0.18-rc.1 is out! The release train is on track for this release, occurring about 3 months after the last release and as usual anything that is ready on main has been included. There is no migration guide collected onto a single page yet, so if you'd prefer to wait for that you can expect it fairly soon.\n\n00:00 - Bevy 0.18.0-rc.1\n00:56 - Bevy Metrics Dashboard\n01:18 - Infrastructure for Portals and Mirrors\n01:53 - Decals\n02:25 - Gizmos\n02:38 - ImageSample address_mode and filters\n03:05 - Misc PRs\n04:01 - City Generator\n04:13 - Virtual Machine\n04:26 - 3D light distribution viewer\n04:48 - INSANIO\n05:02 - WIP game worldmap\n05:11 - Kintect\n05:18 - A Dioxus/Bevy Editor\n05:24 - bevy_map_editor progress\n05:31 - Screen Annotations\n05:57 - FoilRs\n06:05 - Multitouch camera control\n06:11 - png level generation\n06:50 - Signs of Danger\n07:11 - Fish Inverse Kinematics\n07:22 Crates", "Bevy 0.18 Release Candidate, Metrics Dashboard, and more - This Week in Bevy", "97ae19ac-c3d4-4786-8cef-30dbcc52e8c5", "g8t-LRr3M2A", 536, false, "https://www.youtube.com/watch?v=g8t-LRr3M2A", 13, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121800_Bevy 0.18 Release Candidate, Metrics Dashboard, and more - This Week in Bevy.mp4", false, false, false, 38, [], 98, ~U[2025-12-18 12:30:00Z], ~U[2026-10-26 19:20:11Z], ~U[2026-10-26 19:20:11Z], "https://thisweekinbevy.com/issue/2025-12-15-bevy-018-release-candidate-metrics-dashboard-and-more\n\nBevy 0.18-rc.1 is out! The release train is on track for this release, occurring about 3 months after the last release and as usual anything that is ready on main has been included. There is no migration guide collected onto a single page yet, so if you'd prefer to wait for that you can expect it fairly soon.\n\n00:00 - Bevy 0.18.0-rc.1\n00:56 - Bevy Metrics Dashboard\n01:18 - Infrastructure for Portals and Mirrors\n01:53 - Decals\n02:25 - Gizmos\n02:38 - ImageSample address_mode and filters\n03:05 - Misc PRs\n04:01 - City Generator\n04:13 - Virtual Machine\n04:26 - 3D light distribution viewer\n04:48 - INSANIO\n05:02 - WIP game worldmap\n05:11 - Kintect\n05:18 - A Dioxus/Bevy Editor\n05:24 - bevy_map_editor progress\n05:31 - Screen Annotations\n05:57 - FoilRs\n06:05 - Multitouch camera control\n06:11 - png level generation\n06:50 - Signs of Danger\n07:11 - Fish Inverse Kinematics\n07:22 Crates", "Bevy 0.18 Release Candidate, Metrics Dashboard, and more - This Week in Bevy", "g8t-LRr3M2A", 536, false, "https://www.youtube.com/watch?v=g8t-LRr3M2A", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121800_Bevy 0.18 Release Candidate, Metrics Dashboard, and more - This Week in Bevy.mp4", false, 38, ~U[2025-12-18 12:30:00Z]] 14:20:11.688 [debug] QUERY OK source="sources" db=0.2ms idle=99.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:20:11.689 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:11.689 [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 [1803892] 14:20:11.689 [debug] Current batch of media processed. Will check again in 1000ms 14:20:12.690 [debug] Current batch of media processed. Will check again in 1000ms 14:20:13.691 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Advent of Code Day 12!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/blob/33f4b18b8be59393d297796f03d476bd4a5d7778/2025/rust/day-12/src/part1.rs\n\nhttps://adventofcode.com/2025/day/12", "duration" => 1331, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121200_Day 12 - Advent of Code 2025.mp4", "id" => "QX7w2oJzX9Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QX7w2oJzX9Y", "playlist_index" => 14, "timestamp" => 1765542640, "title" => "Day 12 - Advent of Code 2025", "upload_date" => "20251212"} 14:20:13.692 [debug] QUERY OK source="sources" db=0.1ms idle=233.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:20:13.692 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:13.693 [debug] QUERY OK source="media_items" db=0.9ms idle=233.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-12 12:30:40Z], 38] 14:20:13.694 [debug] QUERY OK source="media_items" db=0.8ms idle=235.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" ["Advent of Code Day 12!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/blob/33f4b18b8be59393d297796f03d476bd4a5d7778/2025/rust/day-12/src/part1.rs\n\nhttps://adventofcode.com/2025/day/12", "Day 12 - Advent of Code 2025", "b23e2059-2c79-457a-b095-2f8042f4edb7", "QX7w2oJzX9Y", 1331, false, "https://www.youtube.com/watch?v=QX7w2oJzX9Y", 14, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121200_Day 12 - Advent of Code 2025.mp4", false, false, false, 38, [], 98, ~U[2025-12-12 12:30:40Z], ~U[2026-10-26 19:20:13Z], ~U[2026-10-26 19:20:13Z], "Advent of Code Day 12!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/blob/33f4b18b8be59393d297796f03d476bd4a5d7778/2025/rust/day-12/src/part1.rs\n\nhttps://adventofcode.com/2025/day/12", "Day 12 - Advent of Code 2025", "QX7w2oJzX9Y", 1331, false, "https://www.youtube.com/watch?v=QX7w2oJzX9Y", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121200_Day 12 - Advent of Code 2025.mp4", false, 38, ~U[2025-12-12 12:30:40Z]] 14:20:13.694 [debug] QUERY OK source="sources" db=0.1ms idle=103.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:13.695 [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] 14:20:13.695 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1755808] 14:20:13.695 [debug] Current batch of media processed. Will check again in 1000ms 14:20:14.696 [debug] Current batch of media processed. Will check again in 1000ms 14:20:15.697 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Advent of Code Day 11!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/a74cf102ab37287d1fd48d101a2bbbfb023f5a0a/2025/rust/day-11/src\n\nhttps://adventofcode.com/2025/day/11\n\n00:00 - Part 1\n07:57 - Part 2", "duration" => 1605, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121100_Day 11 - Advent of Code 2025.mp4", "id" => "gYc9yptZh3Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gYc9yptZh3Q", "playlist_index" => 15, "timestamp" => 1765456267, "title" => "Day 11 - Advent of Code 2025", "upload_date" => "20251211"} 14:20:15.698 [debug] QUERY OK source="sources" db=0.2ms idle=239.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:20:15.698 [debug] QUERY OK source="sources" db=0.1ms idle=239.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:15.699 [debug] QUERY OK source="media_items" db=1.0ms idle=240.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-11 12:31:07Z], 38] 14:20:15.703 [debug] QUERY OK source="media_items" db=3.8ms idle=241.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" ["Advent of Code Day 11!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/a74cf102ab37287d1fd48d101a2bbbfb023f5a0a/2025/rust/day-11/src\n\nhttps://adventofcode.com/2025/day/11\n\n00:00 - Part 1\n07:57 - Part 2", "Day 11 - Advent of Code 2025", "247418d0-aad7-41fc-9d3f-95fe9b016f35", "gYc9yptZh3Q", 1605, false, "https://www.youtube.com/watch?v=gYc9yptZh3Q", 15, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121100_Day 11 - Advent of Code 2025.mp4", false, false, false, 38, [], 98, ~U[2025-12-11 12:31:07Z], ~U[2026-10-26 19:20:15Z], ~U[2026-10-26 19:20:15Z], "Advent of Code Day 11!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/a74cf102ab37287d1fd48d101a2bbbfb023f5a0a/2025/rust/day-11/src\n\nhttps://adventofcode.com/2025/day/11\n\n00:00 - Part 1\n07:57 - Part 2", "Day 11 - Advent of Code 2025", "gYc9yptZh3Q", 1605, false, "https://www.youtube.com/watch?v=gYc9yptZh3Q", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121100_Day 11 - Advent of Code 2025.mp4", false, 38, ~U[2025-12-11 12:31:07Z]] 14:20:15.704 [debug] QUERY OK source="sources" db=0.1ms idle=109.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:15.704 [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] 14:20:15.705 [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 [1747915] 14:20:15.705 [debug] Current batch of media processed. Will check again in 1000ms 14:20:16.705 [debug] Current batch of media processed. Will check again in 1000ms 14:20:17.706 [debug] Current batch of media processed. Will check again in 1000ms 14:20:18.707 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Advent of Code Day 10!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/blob/d8402645b62b9c317d30c7c1c87d5aeab737b8bf/2025/rust/day-10/src/part1.rs\n\nhttps://adventofcode.com/2025/day/10\n\n\n00:00 - Day 08 Special Mentions\n00:50 - Day 10\n04:39 - bitvec", "duration" => 1971, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121000_Day 10 - Advent of Code 2025 (No Part 2).mp4", "id" => "P_6IwxCTHR8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=P_6IwxCTHR8", "playlist_index" => 16, "timestamp" => 1765369841, "title" => "Day 10 - Advent of Code 2025 (No Part 2)", "upload_date" => "20251210"} 14:20:18.708 [debug] QUERY OK source="sources" db=0.1ms idle=1249.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:20:18.708 [debug] QUERY OK source="sources" db=0.1ms idle=1249.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:20:18.709 [debug] QUERY OK source="media_items" db=0.9ms idle=1249.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-10 12:30:41Z], 38] 14:20:18.710 [debug] QUERY OK source="media_items" db=1.1ms idle=1113.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" ["Advent of Code Day 10!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/blob/d8402645b62b9c317d30c7c1c87d5aeab737b8bf/2025/rust/day-10/src/part1.rs\n\nhttps://adventofcode.com/2025/day/10\n\n\n00:00 - Day 08 Special Mentions\n00:50 - Day 10\n04:39 - bitvec", "Day 10 - Advent of Code 2025 (No Part 2)", "94c01591-f73e-48c3-bf33-981b36c3a8b2", "P_6IwxCTHR8", 1971, false, "https://www.youtube.com/watch?v=P_6IwxCTHR8", 16, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121000_Day 10 - Advent of Code 2025 (No Part 2).mp4", false, false, false, 38, [], 98, ~U[2025-12-10 12:30:41Z], ~U[2026-10-26 19:20:18Z], ~U[2026-10-26 19:20:18Z], "Advent of Code Day 10!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/blob/d8402645b62b9c317d30c7c1c87d5aeab737b8bf/2025/rust/day-10/src/part1.rs\n\nhttps://adventofcode.com/2025/day/10\n\n\n00:00 - Day 08 Special Mentions\n00:50 - Day 10\n04:39 - bitvec", "Day 10 - Advent of Code 2025 (No Part 2)", "P_6IwxCTHR8", 1971, false, "https://www.youtube.com/watch?v=P_6IwxCTHR8", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121000_Day 10 - Advent of Code 2025 (No Part 2).mp4", false, 38, ~U[2025-12-10 12:30:41Z]] 14:20:18.711 [debug] QUERY OK source="sources" db=0.1ms idle=113.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:18.711 [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] 14:20:18.711 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1740020] 14:20:18.711 [debug] Current batch of media processed. Will check again in 1000ms 14:20:19.712 [debug] Current batch of media processed. Will check again in 1000ms 14:20:20.713 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Advent of Code Day 9!\n\nSolutions: https://github.com/ChristopherBiscardi/advent-of-code/tree/16f6745671af5ac38f8e128819fa3fc8f2f7534a/2025/rust/day-09\n\nViz: https://github.com/ChristopherBiscardi/advent-of-code/tree/16f6745671af5ac38f8e128819fa3fc8f2f7534a/2025/rust/day-09-viz\n\nhttps://adventofcode.com/2025/day/9\n00:00 - Day 8 Discussion\n02:32 - Part 1\n08:41 - Part 2\n23:55 - recording crashed!", "duration" => 1776, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120900_Day 09 - Advent of Code 2025.mp4", "id" => "RyLuE5xFLxw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RyLuE5xFLxw", "playlist_index" => 17, "timestamp" => 1765283442, "title" => "Day 09 - Advent of Code 2025", "upload_date" => "20251209"} 14:20:20.714 [debug] QUERY OK source="sources" db=0.2ms idle=255.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:20:20.714 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:20.715 [debug] QUERY OK source="media_items" db=1.0ms idle=256.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-09 12:30:42Z], 38] 14:20:20.717 [debug] QUERY OK source="media_items" db=1.1ms idle=257.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" ["Advent of Code Day 9!\n\nSolutions: https://github.com/ChristopherBiscardi/advent-of-code/tree/16f6745671af5ac38f8e128819fa3fc8f2f7534a/2025/rust/day-09\n\nViz: https://github.com/ChristopherBiscardi/advent-of-code/tree/16f6745671af5ac38f8e128819fa3fc8f2f7534a/2025/rust/day-09-viz\n\nhttps://adventofcode.com/2025/day/9\n00:00 - Day 8 Discussion\n02:32 - Part 1\n08:41 - Part 2\n23:55 - recording crashed!", "Day 09 - Advent of Code 2025", "cd208e46-aac5-4782-ad0d-05dded1e7637", "RyLuE5xFLxw", 1776, false, "https://www.youtube.com/watch?v=RyLuE5xFLxw", 17, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120900_Day 09 - Advent of Code 2025.mp4", false, false, false, 38, [], 98, ~U[2025-12-09 12:30:42Z], ~U[2026-10-26 19:20:20Z], ~U[2026-10-26 19:20:20Z], "Advent of Code Day 9!\n\nSolutions: https://github.com/ChristopherBiscardi/advent-of-code/tree/16f6745671af5ac38f8e128819fa3fc8f2f7534a/2025/rust/day-09\n\nViz: https://github.com/ChristopherBiscardi/advent-of-code/tree/16f6745671af5ac38f8e128819fa3fc8f2f7534a/2025/rust/day-09-viz\n\nhttps://adventofcode.com/2025/day/9\n00:00 - Day 8 Discussion\n02:32 - Part 1\n08:41 - Part 2\n23:55 - recording crashed!", "Day 09 - Advent of Code 2025", "RyLuE5xFLxw", 1776, false, "https://www.youtube.com/watch?v=RyLuE5xFLxw", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120900_Day 09 - Advent of Code 2025.mp4", false, 38, ~U[2025-12-09 12:30:42Z]] 14:20:20.717 [debug] QUERY OK source="sources" db=0.1ms idle=118.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:20:20.717 [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] 14:20:20.718 [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 [1732004] 14:20:20.718 [debug] Current batch of media processed. Will check again in 1000ms 14:20:21.718 [debug] Current batch of media processed. Will check again in 1000ms 14:20:22.619 [info] GET /sources/55 14:20:22.619 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "55"} Pipelines: [:browser] 14:20:22.619 [debug] QUERY OK source="sources" db=0.1ms idle=160.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:20:22.619 [debug] QUERY OK source="media_profiles" db=0.0ms idle=161.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] 14:20:22.621 [debug] QUERY OK source="tasks" db=1.3ms idle=161.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 (?,?,?,?)) [55, "executing", "available", "scheduled", "retryable"] 14:20:22.621 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=162.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" = ?) [540428] 14:20:22.621 [debug] QUERY OK source="settings" db=0.1ms idle=20.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:22.622 [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 [] 14:20:22.622 [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 [] 14:20:22.623 [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] 14:20:22.623 [debug] QUERY OK source="media_items" db=0.3ms 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")))) [55] 14:20:22.624 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [55, 10, 0] 14:20:22.624 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 14:20:22.624 [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)) [55] 14:20:22.625 [debug] QUERY OK source="media_items" db=0.2ms idle=1.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [55, 10, 0] 14:20:22.625 [debug] QUERY OK source="sources" db=0.0ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [55] 14:20:22.626 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 14:20:22.626 [debug] QUERY OK source="media_items" db=0.4ms idle=1.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [55, 10, 0] 14:20:22.627 [info] Sent 200 in 8ms 14:20:22.719 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Day 08 - Advent of Code 2025\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/8cf4b58e67cd246cd2c911ba1bb9c506d53c48a3/2025/rust/day-08/src\n\nhttps://adventofcode.com/2025/day/8\n\n\n00:00 - Part1\n27:56 - Part 2", "duration" => 2159, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120800_Day 08 - Advent of Code 2025.mp4", "id" => "auLtaZFB89Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=auLtaZFB89Q", "playlist_index" => 18, "timestamp" => 1765199566, "title" => "Day 08 - Advent of Code 2025", "upload_date" => "20251208"} 14:20:22.720 [debug] QUERY OK source="sources" db=0.2ms idle=95.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:20:22.720 [debug] QUERY OK source="sources" db=0.2ms idle=95.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:20:22.721 [debug] QUERY OK source="media_items" db=1.0ms idle=95.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-08 13:12:46Z], 38] 14:20:22.723 [debug] QUERY OK source="media_items" db=0.9ms idle=95.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" ["Day 08 - Advent of Code 2025\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/8cf4b58e67cd246cd2c911ba1bb9c506d53c48a3/2025/rust/day-08/src\n\nhttps://adventofcode.com/2025/day/8\n\n\n00:00 - Part1\n27:56 - Part 2", "Day 08 - Advent of Code 2025", "80615fb7-c99d-4ae9-bf4f-4b42b483afda", "auLtaZFB89Q", 2159, false, "https://www.youtube.com/watch?v=auLtaZFB89Q", 18, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120800_Day 08 - Advent of Code 2025.mp4", false, false, false, 38, [], 98, ~U[2025-12-08 13:12:46Z], ~U[2026-10-26 19:20:22Z], ~U[2026-10-26 19:20:22Z], "Day 08 - Advent of Code 2025\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/8cf4b58e67cd246cd2c911ba1bb9c506d53c48a3/2025/rust/day-08/src\n\nhttps://adventofcode.com/2025/day/8\n\n\n00:00 - Part1\n27:56 - Part 2", "Day 08 - Advent of Code 2025", "auLtaZFB89Q", 2159, false, "https://www.youtube.com/watch?v=auLtaZFB89Q", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120800_Day 08 - Advent of Code 2025.mp4", false, 38, ~U[2025-12-08 13:12:46Z]] 14:20:22.723 [debug] QUERY OK source="sources" db=0.1ms idle=96.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:20:22.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] 14:20:22.724 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1724024] 14:20:22.724 [debug] Current batch of media processed. Will check again in 1000ms 14:20:23.724 [debug] Current batch of media processed. Will check again in 1000ms 14:20:24.725 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Advent of Code Day 07!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/b85cb32bbbe1a9a4fb5000ed70ac17e3cdd2ab78/2025/rust/day-07/src\n\nhttps://adventofcode.com/2025/day/7\n\n\n00:00 - Part 1\n17:41 - Part 2", "duration" => 1695, "filename" => "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120700_Day 07 - Advent of Code 2025.mp4", "id" => "WydCrKP1tOk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WydCrKP1tOk", "playlist_index" => 19, "timestamp" => 1765110645, "title" => "Day 07 - Advent of Code 2025", "upload_date" => "20251207"} 14:20:24.726 [debug] QUERY OK source="sources" db=0.2ms idle=267.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:20:24.726 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.727 [debug] QUERY OK source="media_items" db=0.9ms idle=268.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-07 12:30:45Z], 38] 14:20:24.753 [debug] QUERY OK source="media_items" db=25.8ms idle=269.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" ["Advent of Code Day 07!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/b85cb32bbbe1a9a4fb5000ed70ac17e3cdd2ab78/2025/rust/day-07/src\n\nhttps://adventofcode.com/2025/day/7\n\n\n00:00 - Part 1\n17:41 - Part 2", "Day 07 - Advent of Code 2025", "362ef40a-0919-4208-a547-2385e0c4de8d", "WydCrKP1tOk", 1695, false, "https://www.youtube.com/watch?v=WydCrKP1tOk", 19, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120700_Day 07 - Advent of Code 2025.mp4", false, false, false, 38, [], 98, ~U[2025-12-07 12:30:45Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Advent of Code Day 07!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/b85cb32bbbe1a9a4fb5000ed70ac17e3cdd2ab78/2025/rust/day-07/src\n\nhttps://adventofcode.com/2025/day/7\n\n\n00:00 - Part 1\n17:41 - Part 2", "Day 07 - Advent of Code 2025", "WydCrKP1tOk", 1695, false, "https://www.youtube.com/watch?v=WydCrKP1tOk", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120700_Day 07 - Advent of Code 2025.mp4", false, 38, ~U[2025-12-07 12:30:45Z]] 14:20:24.754 [debug] QUERY OK source="sources" db=0.2ms idle=150.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:20:24.754 [debug] QUERY OK source="media_profiles" db=0.2ms idle=28.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] 14:20:24.755 [debug] QUERY OK source="media_items" db=0.1ms idle=28.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 [1716069] 14:20:24.755 [debug] Current batch of media processed. Will check again in 1000ms 14:20:24.799 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCiSIL42pQRpc-8JNiYDFyzQ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/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/a2/df/a2dfebe6286ea2d449174df5a207f85a518c6dd0c1a4e729ceb699d8fefb24b8.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f1/2b/f12b95aae8c23d7c23fc5837bebe30f834c3aa3626bb8c0eaa15921cdce9c1ca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 14:20:24.799 [debug] Gracefully stopping file follower 14:20:24.800 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [38] 14:20:24.800 [debug] QUERY OK source="sources" db=0.0ms idle=46.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:20:24.801 [debug] QUERY OK source="media_items" db=1.0ms idle=46.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-09 11:30:06Z], 38] 14:20:24.807 [debug] QUERY OK source="media_items" db=5.8ms idle=47.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" ["Rendering a few Blender monkeys with OpenPBR.", "Rendering glTF from Blender with OpenPBR in Vulkan", "94a10a20-6772-4828-bfd6-4b0407e8f966", "mwi7u5eT1jE", 804, false, "https://www.youtube.com/watch?v=mwi7u5eT1jE", 1, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e100900_Rendering glTF from Blender with OpenPBR in Vulkan.mp4", false, false, false, 38, [], 98, ~U[2026-10-09 11:30:06Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Rendering a few Blender monkeys with OpenPBR.", "Rendering glTF from Blender with OpenPBR in Vulkan", "mwi7u5eT1jE", 804, false, "https://www.youtube.com/watch?v=mwi7u5eT1jE", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e100900_Rendering glTF from Blender with OpenPBR in Vulkan.mp4", false, 38, ~U[2026-10-09 11:30:06Z]] 14:20:24.808 [debug] QUERY OK source="sources" db=0.2ms idle=53.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.809 [debug] QUERY OK source="media_items" db=1.1ms 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-09-16 11:30:16Z], 38] 14:20:24.810 [debug] QUERY OK source="media_items" db=0.5ms idle=9.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" ["Digging into Vulkan, SDL3, and more for some future experiments", "It's one triangle, Michael. What could it cost?", "1ff27190-e098-444b-bfce-eb05e3e1ab00", "KfgW91RSnp4", 1178, false, "https://www.youtube.com/watch?v=KfgW91RSnp4", 2, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e091600_It's one triangle, Michael. What could it cost?.mp4", false, false, false, 38, [], 98, ~U[2026-09-16 11:30:16Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Digging into Vulkan, SDL3, and more for some future experiments", "It's one triangle, Michael. What could it cost?", "KfgW91RSnp4", 1178, false, "https://www.youtube.com/watch?v=KfgW91RSnp4", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e091600_It's one triangle, Michael. What could it cost?.mp4", false, 38, ~U[2026-09-16 11:30:16Z]] 14:20:24.811 [debug] QUERY OK source="sources" db=0.2ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.812 [debug] QUERY OK source="media_items" db=0.8ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-14 11:30:24Z], 38] 14:20:24.813 [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" ["Bit of introspection on this one. I went to Rust Conf and got a lot of renewed energy from the people I spoke to. If you came up to me at Rust Conf, thank you!", "why am I still programming?", "06e0bfc4-1529-4a81-a055-5ffaa992f271", "pOAj3mor8y8", 512, false, "https://www.youtube.com/watch?v=pOAj3mor8y8", 3, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e091400_why am I still programming?.mp4", false, false, false, 38, [], 98, ~U[2026-09-14 11:30:24Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Bit of introspection on this one. I went to Rust Conf and got a lot of renewed energy from the people I spoke to. If you came up to me at Rust Conf, thank you!", "why am I still programming?", "pOAj3mor8y8", 512, false, "https://www.youtube.com/watch?v=pOAj3mor8y8", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e091400_why am I still programming?.mp4", false, 38, ~U[2026-09-14 11:30:24Z]] 14:20:24.813 [debug] QUERY OK source="sources" db=0.2ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.814 [debug] QUERY OK source="media_items" db=0.8ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-23 11:30:23Z], 38] 14:20:24.815 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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" ["Bevy Release Notes: https://bevy.org/news/bevy-0-19/\n \nBevy Migration Guide: https://bevy.org/learn/migration-guides/0-18-to-0-19/", "Bevy Game Engine 0.19", "dfb6704d-3860-437d-973c-7c32ca32f2fe", "Ej6ncNxNBAg", 205, false, "https://www.youtube.com/watch?v=Ej6ncNxNBAg", 4, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e062300_Bevy Game Engine 0.19.mp4", false, false, false, 38, [], 98, ~U[2026-06-23 11:30:23Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Bevy Release Notes: https://bevy.org/news/bevy-0-19/\n \nBevy Migration Guide: https://bevy.org/learn/migration-guides/0-18-to-0-19/", "Bevy Game Engine 0.19", "Ej6ncNxNBAg", 205, false, "https://www.youtube.com/watch?v=Ej6ncNxNBAg", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e062300_Bevy Game Engine 0.19.mp4", false, 38, ~U[2026-06-23 11:30:23Z]] 14:20:24.815 [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" = ?) [38] 14:20:24.816 [debug] QUERY OK source="media_items" db=0.8ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-19 02:35:15Z], 38] 14:20:24.817 [debug] QUERY OK source="media_items" db=0.5ms 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" ["I submitted for Bevy Jam 7! I like the things that I worked on during the week, and (perhaps obviously) don't like the things I rushed over the weekend.\n\nCode: https://github.com/ChristopherBiscardi/bevy-jam-7/tree/6e8d26bb6f94bb62d43146b088660e7652c818bb", "My Bevy Jam 7 Entry", "754a8d84-3aea-49c4-9ee4-e1064cd26af1", "gaMPc-5KkOQ", 1749, false, "https://www.youtube.com/watch?v=gaMPc-5KkOQ", 5, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e021900_My Bevy Jam 7 Entry.mp4", false, false, false, 38, [], 98, ~U[2026-02-19 02:35:15Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "I submitted for Bevy Jam 7! I like the things that I worked on during the week, and (perhaps obviously) don't like the things I rushed over the weekend.\n\nCode: https://github.com/ChristopherBiscardi/bevy-jam-7/tree/6e8d26bb6f94bb62d43146b088660e7652c818bb", "My Bevy Jam 7 Entry", "gaMPc-5KkOQ", 1749, false, "https://www.youtube.com/watch?v=gaMPc-5KkOQ", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e021900_My Bevy Jam 7 Entry.mp4", false, 38, ~U[2026-02-19 02:35:15Z]] 14:20:24.817 [debug] QUERY OK source="sources" db=0.2ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.818 [debug] QUERY OK source="media_items" db=0.8ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 12:30:00Z], 38] 14:20:24.819 [debug] QUERY OK source="media_items" db=0.6ms idle=3.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" ["Bevy Jam 7 is coming! Here are some of the crates that will find their way into my submission, and alternatives.\n\nbevy jam 7: https://itch.io/jam/bevy-jam-7\nbevy_cli: https://github.com/TheBevyFlock/bevy_cli\nbevy_inspector_egui: https://github.com/jakobhellermann/bevy-inspector-egui\nbevy_seedling: https://github.com/CorvusPrudens/bevy_seedling\nskein: https://bevyskein.dev/\nnoiz: https://crates.io/crates/noiz\nbevy_asset_loader: https://github.com/NiklasEi/bevy_asset_loader\nbevy_hanabi: https://github.com/djeedai/bevy_hanabi\n\n00:00 - Bevy Jam 7\n00:26 - bevy_cli\n06:26 - Inspectors\n09:56 - Input Management\n12:40 - audio\n15:29 - level editors\n17:38 - noiz\n18:45 - bevy_asset_loader\n20:01 - Particles\n20:43 - bevy_dev_tools", "Useful Crates for Bevy Jam 7", "9378774f-2463-479c-8675-f0f03256cb00", "Xl2KXX_8sCs", 1323, false, "https://www.youtube.com/watch?v=Xl2KXX_8sCs", 6, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e020500_Useful Crates for Bevy Jam 7.mp4", false, false, false, 38, [], 98, ~U[2026-02-05 12:30:00Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Bevy Jam 7 is coming! Here are some of the crates that will find their way into my submission, and alternatives.\n\nbevy jam 7: https://itch.io/jam/bevy-jam-7\nbevy_cli: https://github.com/TheBevyFlock/bevy_cli\nbevy_inspector_egui: https://github.com/jakobhellermann/bevy-inspector-egui\nbevy_seedling: https://github.com/CorvusPrudens/bevy_seedling\nskein: https://bevyskein.dev/\nnoiz: https://crates.io/crates/noiz\nbevy_asset_loader: https://github.com/NiklasEi/bevy_asset_loader\nbevy_hanabi: https://github.com/djeedai/bevy_hanabi\n\n00:00 - Bevy Jam 7\n00:26 - bevy_cli\n06:26 - Inspectors\n09:56 - Input Management\n12:40 - audio\n15:29 - level editors\n17:38 - noiz\n18:45 - bevy_asset_loader\n20:01 - Particles\n20:43 - bevy_dev_tools", "Useful Crates for Bevy Jam 7", "Xl2KXX_8sCs", 1323, false, "https://www.youtube.com/watch?v=Xl2KXX_8sCs", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e020500_Useful Crates for Bevy Jam 7.mp4", false, 38, ~U[2026-02-05 12:30:00Z]] 14:20:24.819 [debug] QUERY OK source="sources" db=0.2ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.820 [debug] QUERY OK source="media_items" db=0.8ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 12:30:00Z], 38] 14:20:24.821 [debug] QUERY OK source="media_items" db=0.6ms idle=3.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 flappy bird implementation in Bevy! *Flappy Bird* is meant to give you a taste of Rust through using the Bevy game engine. It is designed for a first-time Bevy user.\n\nJoin the Rust Adventure Discord if you have questions: https://discord.gg/Zd6vJvDwYu\n\nRust Adventure: https://www.rustadventure.dev/\nFlappy Bird Workshop: https://www.rustadventure.dev/flappy-bird\nBevy Jam 7: https://itch.io/jam/bevy-jam-7\n\n00:00 - Flappy Bird!\n05:02 - Camera2d Projections\n11:16 - Required Components: Gravity and Velocity\n17:19 - Triggering Observers for Out of Bounds\n21:27 - Spawning Pipes\n26:40 - Moving Pipes\n32:15 - Collision and Gizmos\n36:34 - Keeping Score\n38:45 - Background Materials\n42:35 - Cleanup and Polish", "Full Bevy 0.18 Flappy Bird Workshop", "c3fd038e-0350-46e1-a20d-38389c002bee", "jKSZ8k70dxM", 2722, false, "https://www.youtube.com/watch?v=jKSZ8k70dxM", 7, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e012100_Full Bevy 0.18 Flappy Bird Workshop.mp4", false, false, false, 38, [], 98, ~U[2026-01-21 12:30:00Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "A flappy bird implementation in Bevy! *Flappy Bird* is meant to give you a taste of Rust through using the Bevy game engine. It is designed for a first-time Bevy user.\n\nJoin the Rust Adventure Discord if you have questions: https://discord.gg/Zd6vJvDwYu\n\nRust Adventure: https://www.rustadventure.dev/\nFlappy Bird Workshop: https://www.rustadventure.dev/flappy-bird\nBevy Jam 7: https://itch.io/jam/bevy-jam-7\n\n00:00 - Flappy Bird!\n05:02 - Camera2d Projections\n11:16 - Required Components: Gravity and Velocity\n17:19 - Triggering Observers for Out of Bounds\n21:27 - Spawning Pipes\n26:40 - Moving Pipes\n32:15 - Collision and Gizmos\n36:34 - Keeping Score\n38:45 - Background Materials\n42:35 - Cleanup and Polish", "Full Bevy 0.18 Flappy Bird Workshop", "jKSZ8k70dxM", 2722, false, "https://www.youtube.com/watch?v=jKSZ8k70dxM", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e012100_Full Bevy 0.18 Flappy Bird Workshop.mp4", false, 38, ~U[2026-01-21 12:30:00Z]] 14:20:24.822 [debug] QUERY OK source="sources" db=0.2ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.823 [debug] QUERY OK source="media_items" db=0.8ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-14 17:44:18Z], 38] 14:20:24.823 [debug] QUERY OK source="media_items" db=0.6ms idle=3.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" ["An introductory compute shader landscape generation project. We use noise and a pre-allocated mesh buffer to construct landscape and talk about how mesh attributes are packed into vertex buffers, how compute shaders get initialized and such, workgroups, and more.\n\nCode from today: https://github.com/rust-adventure/bevy-examples/tree/2384d59b24e74af068c8b350ef2940e7c685643f/examples/landscape-compute-intro\n\nPR mentioned in the video: https://github.com/bevyengine/bevy/pull/22296\n\nAsk questions in the Rust Adventure Discord: https://discord.gg/zxsWUhu6cu", "Introductory Compute Shader Landscapes in Bevy", "ace295c1-4132-4eba-8721-f752cd999a14", "yBF23EWxsc8", 3486, false, "https://www.youtube.com/watch?v=yBF23EWxsc8", 8, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011400_Introductory Compute Shader Landscapes in Bevy.mp4", false, false, false, 38, [], 97, ~U[2026-01-14 17:44:18Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "An introductory compute shader landscape generation project. We use noise and a pre-allocated mesh buffer to construct landscape and talk about how mesh attributes are packed into vertex buffers, how compute shaders get initialized and such, workgroups, and more.\n\nCode from today: https://github.com/rust-adventure/bevy-examples/tree/2384d59b24e74af068c8b350ef2940e7c685643f/examples/landscape-compute-intro\n\nPR mentioned in the video: https://github.com/bevyengine/bevy/pull/22296\n\nAsk questions in the Rust Adventure Discord: https://discord.gg/zxsWUhu6cu", "Introductory Compute Shader Landscapes in Bevy", "yBF23EWxsc8", 3486, false, "https://www.youtube.com/watch?v=yBF23EWxsc8", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011400_Introductory Compute Shader Landscapes in Bevy.mp4", false, 38, ~U[2026-01-14 17:44:18Z]] 14:20:24.824 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.825 [debug] QUERY OK source="media_items" db=0.8ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-13 21:45:55Z], 38] 14:20:24.826 [debug] QUERY OK source="media_items" db=1.4ms idle=3.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" ["Bevy Release: https://bevy.org/news/bevy-0-18/\nMigration Guides: https://bevy.org/learn/migration-guides/introduction/\nToroban: https://store.steampowered.com/app/1961850/Toroban/\nRust Adventure: https://www.rustadventure.dev/", "The Bevy Game Engine 0.18 Release", "4e3efb00-d92d-4e94-adad-73b91952816c", "ZPsN_iQ4Ezc", 330, false, "https://www.youtube.com/watch?v=ZPsN_iQ4Ezc", 9, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011300_The Bevy Game Engine 0.18 Release.mp4", false, false, false, 38, [], 98, ~U[2026-01-13 21:45:55Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Bevy Release: https://bevy.org/news/bevy-0-18/\nMigration Guides: https://bevy.org/learn/migration-guides/introduction/\nToroban: https://store.steampowered.com/app/1961850/Toroban/\nRust Adventure: https://www.rustadventure.dev/", "The Bevy Game Engine 0.18 Release", "ZPsN_iQ4Ezc", 330, false, "https://www.youtube.com/watch?v=ZPsN_iQ4Ezc", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011300_The Bevy Game Engine 0.18 Release.mp4", false, 38, ~U[2026-01-13 21:45:55Z]] 14:20:24.827 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.827 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-12 12:30:10Z], 38] 14:20:24.828 [debug] QUERY OK source="media_items" db=0.5ms 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" ["A new type of video for the channel: devlogs. Covering Mesh Shaders, some thoughts about the channel, and Rust Adventure", "devlog: new year, mesh shaders, rust adventure", "a32401dd-eb3d-4b7b-95dc-6bc9ae97135f", "5sjyo2TKL0Y", 1987, false, "https://www.youtube.com/watch?v=5sjyo2TKL0Y", 10, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011200_devlog: new year, mesh shaders, rust adventure.mp4", false, false, false, 38, [], 98, ~U[2026-01-12 12:30:10Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "A new type of video for the channel: devlogs. Covering Mesh Shaders, some thoughts about the channel, and Rust Adventure", "devlog: new year, mesh shaders, rust adventure", "5sjyo2TKL0Y", 1987, false, "https://www.youtube.com/watch?v=5sjyo2TKL0Y", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e011200_devlog: new year, mesh shaders, rust adventure.mp4", false, 38, ~U[2026-01-12 12:30:10Z]] 14:20:24.829 [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" = ?) [38] 14:20:24.829 [debug] QUERY OK source="media_items" db=0.7ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-01 03:33:41Z], 38] 14:20:24.830 [debug] QUERY OK source="media_items" db=0.6ms idle=3.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" ["A Fistful of Boomerangs: https://4d4xfun.itch.io/bevy-jam-6\n\nToroban: https://store.steampowered.com/app/1961850/Toroban/\nSimulo: https://store.steampowered.com/app/3291520/Simulo/\nLong Story 2: https://store.steampowered.com/app/2427820/LongStory_2/\n\nnoiz: https://docs.rs/noiz/latest/noiz/\nAvian Physics: https://github.com/avianphysics/avian\nglizmo: https://crates.io/crates/glizmo\nbevy-clipmap: https://github.com/kirillsurkov/bevy-clipmap\nmotiongfx: https://github.com/voxell-tech/motiongfx", "This Year in Bevy 2025", "8e2963e6-60cb-4fac-87a4-8f84abc8c14a", "ea-fji5ULDg", 475, false, "https://www.youtube.com/watch?v=ea-fji5ULDg", 11, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e010100_This Year in Bevy 2025.mp4", false, false, false, 38, [], 98, ~U[2026-01-01 03:33:41Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "A Fistful of Boomerangs: https://4d4xfun.itch.io/bevy-jam-6\n\nToroban: https://store.steampowered.com/app/1961850/Toroban/\nSimulo: https://store.steampowered.com/app/3291520/Simulo/\nLong Story 2: https://store.steampowered.com/app/2427820/LongStory_2/\n\nnoiz: https://docs.rs/noiz/latest/noiz/\nAvian Physics: https://github.com/avianphysics/avian\nglizmo: https://crates.io/crates/glizmo\nbevy-clipmap: https://github.com/kirillsurkov/bevy-clipmap\nmotiongfx: https://github.com/voxell-tech/motiongfx", "This Year in Bevy 2025", "ea-fji5ULDg", 475, false, "https://www.youtube.com/watch?v=ea-fji5ULDg", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2026/s2026e010100_This Year in Bevy 2025.mp4", false, 38, ~U[2026-01-01 03:33:41Z]] 14:20:24.831 [debug] QUERY OK source="sources" db=0.2ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.832 [debug] QUERY OK source="media_items" db=0.8ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-24 12:31:13Z], 38] 14:20:24.833 [debug] QUERY OK source="media_items" db=0.9ms idle=3.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://thisweekinbevy.com/issue/2025-12-22-shift-o-souprune-and-volumetric-clouds\n\nThis week we have a combination of features that made it into the 0.18 release candidate, as well as the first PRs merged for the 0.19 cycle.\n\nMerges this week include global gizmos, glTF extension handling, a FullscreenMaterial, and more.\n\nShift-O is a Bevy Jam 6 game with updates this week, while SoupRune is an in-progress framework for Undertale/Deltarune fan games.\n\n00:00 - Shift-O, SoupRune, and Volumetric Clouds\n00:25 - Easy Demo Recording\n00:59 - Global Gizmos\n01:25 - glTF Extension Handling\n02:06 - FullscreenMaterial\n02:33 - PreviousState\n02:51 - Font Weight\n03:01 - RenderTarget as Component\n03:09 - Transparent Sorting improvements\n03:40 - Shift-O\n03:57 - SoupRune\n04:02 - Spacefaring.is\n04:12 - Volumetric Clouds\n04:35 - Kinect 360 Particles\n04:42 - Recursive Portals\n04:51 - Geometry Clipmaps\n05:04 - Cuboid Wars\n05:24 - bevy_tiled_background\n05:37 - Actuate v0.21\n05:48 - Maiu Online Devlog #8\n05:59 - How I made AAA Sky Rendering from scratch\n06:13 - Unifying the Fuller Stack with Entity Component System", "Shift-O, SoupRune, and Volumetric Clouds - This Week in Bevy", "08d9bfff-a1ca-4a0d-af0c-11564321782f", "jqHh06r2-Wc", 401, false, "https://www.youtube.com/watch?v=jqHh06r2-Wc", 12, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e122400_Shift-O, SoupRune, and Volumetric Clouds - This Week in Bevy.mp4", false, false, false, 38, [], 98, ~U[2025-12-24 12:31:13Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "https://thisweekinbevy.com/issue/2025-12-22-shift-o-souprune-and-volumetric-clouds\n\nThis week we have a combination of features that made it into the 0.18 release candidate, as well as the first PRs merged for the 0.19 cycle.\n\nMerges this week include global gizmos, glTF extension handling, a FullscreenMaterial, and more.\n\nShift-O is a Bevy Jam 6 game with updates this week, while SoupRune is an in-progress framework for Undertale/Deltarune fan games.\n\n00:00 - Shift-O, SoupRune, and Volumetric Clouds\n00:25 - Easy Demo Recording\n00:59 - Global Gizmos\n01:25 - glTF Extension Handling\n02:06 - FullscreenMaterial\n02:33 - PreviousState\n02:51 - Font Weight\n03:01 - RenderTarget as Component\n03:09 - Transparent Sorting improvements\n03:40 - Shift-O\n03:57 - SoupRune\n04:02 - Spacefaring.is\n04:12 - Volumetric Clouds\n04:35 - Kinect 360 Particles\n04:42 - Recursive Portals\n04:51 - Geometry Clipmaps\n05:04 - Cuboid Wars\n05:24 - bevy_tiled_background\n05:37 - Actuate v0.21\n05:48 - Maiu Online Devlog #8\n05:59 - How I made AAA Sky Rendering from scratch\n06:13 - Unifying the Fuller Stack with Entity Component System", "Shift-O, SoupRune, and Volumetric Clouds - This Week in Bevy", "jqHh06r2-Wc", 401, false, "https://www.youtube.com/watch?v=jqHh06r2-Wc", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e122400_Shift-O, SoupRune, and Volumetric Clouds - This Week in Bevy.mp4", false, 38, ~U[2025-12-24 12:31:13Z]] 14:20:24.833 [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" = ?) [38] 14:20:24.834 [debug] QUERY OK source="media_items" db=0.8ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-18 12:30:00Z], 38] 14:20:24.836 [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" ["https://thisweekinbevy.com/issue/2025-12-15-bevy-018-release-candidate-metrics-dashboard-and-more\n\nBevy 0.18-rc.1 is out! The release train is on track for this release, occurring about 3 months after the last release and as usual anything that is ready on main has been included. There is no migration guide collected onto a single page yet, so if you'd prefer to wait for that you can expect it fairly soon.\n\n00:00 - Bevy 0.18.0-rc.1\n00:56 - Bevy Metrics Dashboard\n01:18 - Infrastructure for Portals and Mirrors\n01:53 - Decals\n02:25 - Gizmos\n02:38 - ImageSample address_mode and filters\n03:05 - Misc PRs\n04:01 - City Generator\n04:13 - Virtual Machine\n04:26 - 3D light distribution viewer\n04:48 - INSANIO\n05:02 - WIP game worldmap\n05:11 - Kintect\n05:18 - A Dioxus/Bevy Editor\n05:24 - bevy_map_editor progress\n05:31 - Screen Annotations\n05:57 - FoilRs\n06:05 - Multitouch camera control\n06:11 - png level generation\n06:50 - Signs of Danger\n07:11 - Fish Inverse Kinematics\n07:22 Crates", "Bevy 0.18 Release Candidate, Metrics Dashboard, and more - This Week in Bevy", "1fa8f605-f821-4a1a-af0b-35647ec63fca", "g8t-LRr3M2A", 536, false, "https://www.youtube.com/watch?v=g8t-LRr3M2A", 13, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121800_Bevy 0.18 Release Candidate, Metrics Dashboard, and more - This Week in Bevy.mp4", false, false, false, 38, [], 98, ~U[2025-12-18 12:30:00Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "https://thisweekinbevy.com/issue/2025-12-15-bevy-018-release-candidate-metrics-dashboard-and-more\n\nBevy 0.18-rc.1 is out! The release train is on track for this release, occurring about 3 months after the last release and as usual anything that is ready on main has been included. There is no migration guide collected onto a single page yet, so if you'd prefer to wait for that you can expect it fairly soon.\n\n00:00 - Bevy 0.18.0-rc.1\n00:56 - Bevy Metrics Dashboard\n01:18 - Infrastructure for Portals and Mirrors\n01:53 - Decals\n02:25 - Gizmos\n02:38 - ImageSample address_mode and filters\n03:05 - Misc PRs\n04:01 - City Generator\n04:13 - Virtual Machine\n04:26 - 3D light distribution viewer\n04:48 - INSANIO\n05:02 - WIP game worldmap\n05:11 - Kintect\n05:18 - A Dioxus/Bevy Editor\n05:24 - bevy_map_editor progress\n05:31 - Screen Annotations\n05:57 - FoilRs\n06:05 - Multitouch camera control\n06:11 - png level generation\n06:50 - Signs of Danger\n07:11 - Fish Inverse Kinematics\n07:22 Crates", "Bevy 0.18 Release Candidate, Metrics Dashboard, and more - This Week in Bevy", "g8t-LRr3M2A", 536, false, "https://www.youtube.com/watch?v=g8t-LRr3M2A", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121800_Bevy 0.18 Release Candidate, Metrics Dashboard, and more - This Week in Bevy.mp4", false, 38, ~U[2025-12-18 12:30:00Z]] 14:20:24.836 [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" = ?) [38] 14:20:24.837 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-12 12:30:40Z], 38] 14:20:24.838 [debug] QUERY OK source="media_items" db=0.5ms 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" ["Advent of Code Day 12!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/blob/33f4b18b8be59393d297796f03d476bd4a5d7778/2025/rust/day-12/src/part1.rs\n\nhttps://adventofcode.com/2025/day/12", "Day 12 - Advent of Code 2025", "41d35ed9-c3ae-451a-bbf3-c9041b8d9471", "QX7w2oJzX9Y", 1331, false, "https://www.youtube.com/watch?v=QX7w2oJzX9Y", 14, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121200_Day 12 - Advent of Code 2025.mp4", false, false, false, 38, [], 98, ~U[2025-12-12 12:30:40Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Advent of Code Day 12!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/blob/33f4b18b8be59393d297796f03d476bd4a5d7778/2025/rust/day-12/src/part1.rs\n\nhttps://adventofcode.com/2025/day/12", "Day 12 - Advent of Code 2025", "QX7w2oJzX9Y", 1331, false, "https://www.youtube.com/watch?v=QX7w2oJzX9Y", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121200_Day 12 - Advent of Code 2025.mp4", false, 38, ~U[2025-12-12 12:30:40Z]] 14:20:24.838 [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" = ?) [38] 14:20:24.839 [debug] QUERY OK source="media_items" db=0.8ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-11 12:31:07Z], 38] 14:20:24.840 [debug] QUERY OK source="media_items" db=0.6ms idle=3.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" ["Advent of Code Day 11!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/a74cf102ab37287d1fd48d101a2bbbfb023f5a0a/2025/rust/day-11/src\n\nhttps://adventofcode.com/2025/day/11\n\n00:00 - Part 1\n07:57 - Part 2", "Day 11 - Advent of Code 2025", "2197b102-df5f-42ab-a1c5-6349d7be5a15", "gYc9yptZh3Q", 1605, false, "https://www.youtube.com/watch?v=gYc9yptZh3Q", 15, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121100_Day 11 - Advent of Code 2025.mp4", false, false, false, 38, [], 98, ~U[2025-12-11 12:31:07Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Advent of Code Day 11!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/a74cf102ab37287d1fd48d101a2bbbfb023f5a0a/2025/rust/day-11/src\n\nhttps://adventofcode.com/2025/day/11\n\n00:00 - Part 1\n07:57 - Part 2", "Day 11 - Advent of Code 2025", "gYc9yptZh3Q", 1605, false, "https://www.youtube.com/watch?v=gYc9yptZh3Q", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121100_Day 11 - Advent of Code 2025.mp4", false, 38, ~U[2025-12-11 12:31:07Z]] 14:20:24.840 [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" = ?) [38] 14:20:24.841 [debug] QUERY OK source="media_items" db=0.8ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-10 12:30:41Z], 38] 14:20:24.842 [debug] QUERY OK source="media_items" db=0.6ms 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" ["Advent of Code Day 10!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/blob/d8402645b62b9c317d30c7c1c87d5aeab737b8bf/2025/rust/day-10/src/part1.rs\n\nhttps://adventofcode.com/2025/day/10\n\n\n00:00 - Day 08 Special Mentions\n00:50 - Day 10\n04:39 - bitvec", "Day 10 - Advent of Code 2025 (No Part 2)", "d91c4e50-c011-4fa7-92db-a842a8235f43", "P_6IwxCTHR8", 1971, false, "https://www.youtube.com/watch?v=P_6IwxCTHR8", 16, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121000_Day 10 - Advent of Code 2025 (No Part 2).mp4", false, false, false, 38, [], 98, ~U[2025-12-10 12:30:41Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Advent of Code Day 10!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/blob/d8402645b62b9c317d30c7c1c87d5aeab737b8bf/2025/rust/day-10/src/part1.rs\n\nhttps://adventofcode.com/2025/day/10\n\n\n00:00 - Day 08 Special Mentions\n00:50 - Day 10\n04:39 - bitvec", "Day 10 - Advent of Code 2025 (No Part 2)", "P_6IwxCTHR8", 1971, false, "https://www.youtube.com/watch?v=P_6IwxCTHR8", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e121000_Day 10 - Advent of Code 2025 (No Part 2).mp4", false, 38, ~U[2025-12-10 12:30:41Z]] 14:20:24.842 [debug] QUERY OK source="sources" db=0.2ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.843 [debug] QUERY OK source="media_items" db=0.9ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-09 12:30:42Z], 38] 14:20:24.844 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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" ["Advent of Code Day 9!\n\nSolutions: https://github.com/ChristopherBiscardi/advent-of-code/tree/16f6745671af5ac38f8e128819fa3fc8f2f7534a/2025/rust/day-09\n\nViz: https://github.com/ChristopherBiscardi/advent-of-code/tree/16f6745671af5ac38f8e128819fa3fc8f2f7534a/2025/rust/day-09-viz\n\nhttps://adventofcode.com/2025/day/9\n00:00 - Day 8 Discussion\n02:32 - Part 1\n08:41 - Part 2\n23:55 - recording crashed!", "Day 09 - Advent of Code 2025", "91db8a54-ab06-4380-97b5-7cc329586808", "RyLuE5xFLxw", 1776, false, "https://www.youtube.com/watch?v=RyLuE5xFLxw", 17, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120900_Day 09 - Advent of Code 2025.mp4", false, false, false, 38, [], 98, ~U[2025-12-09 12:30:42Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Advent of Code Day 9!\n\nSolutions: https://github.com/ChristopherBiscardi/advent-of-code/tree/16f6745671af5ac38f8e128819fa3fc8f2f7534a/2025/rust/day-09\n\nViz: https://github.com/ChristopherBiscardi/advent-of-code/tree/16f6745671af5ac38f8e128819fa3fc8f2f7534a/2025/rust/day-09-viz\n\nhttps://adventofcode.com/2025/day/9\n00:00 - Day 8 Discussion\n02:32 - Part 1\n08:41 - Part 2\n23:55 - recording crashed!", "Day 09 - Advent of Code 2025", "RyLuE5xFLxw", 1776, false, "https://www.youtube.com/watch?v=RyLuE5xFLxw", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120900_Day 09 - Advent of Code 2025.mp4", false, 38, ~U[2025-12-09 12:30:42Z]] 14:20:24.845 [debug] QUERY OK source="sources" db=0.2ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.846 [debug] QUERY OK source="media_items" db=0.9ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-08 13:12:46Z], 38] 14:20:24.847 [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" ["Day 08 - Advent of Code 2025\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/8cf4b58e67cd246cd2c911ba1bb9c506d53c48a3/2025/rust/day-08/src\n\nhttps://adventofcode.com/2025/day/8\n\n\n00:00 - Part1\n27:56 - Part 2", "Day 08 - Advent of Code 2025", "24f0749e-06d5-4a1e-90bb-92472c4d97fa", "auLtaZFB89Q", 2159, false, "https://www.youtube.com/watch?v=auLtaZFB89Q", 18, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120800_Day 08 - Advent of Code 2025.mp4", false, false, false, 38, [], 98, ~U[2025-12-08 13:12:46Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Day 08 - Advent of Code 2025\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/8cf4b58e67cd246cd2c911ba1bb9c506d53c48a3/2025/rust/day-08/src\n\nhttps://adventofcode.com/2025/day/8\n\n\n00:00 - Part1\n27:56 - Part 2", "Day 08 - Advent of Code 2025", "auLtaZFB89Q", 2159, false, "https://www.youtube.com/watch?v=auLtaZFB89Q", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120800_Day 08 - Advent of Code 2025.mp4", false, 38, ~U[2025-12-08 13:12:46Z]] 14:20:24.847 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:20:24.848 [debug] QUERY OK source="media_items" db=0.8ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-07 12:30:45Z], 38] 14:20:24.849 [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" ["Advent of Code Day 07!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/b85cb32bbbe1a9a4fb5000ed70ac17e3cdd2ab78/2025/rust/day-07/src\n\nhttps://adventofcode.com/2025/day/7\n\n\n00:00 - Part 1\n17:41 - Part 2", "Day 07 - Advent of Code 2025", "10af5722-f60c-456e-954f-cd8282987292", "WydCrKP1tOk", 1695, false, "https://www.youtube.com/watch?v=WydCrKP1tOk", 19, "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120700_Day 07 - Advent of Code 2025.mp4", false, false, false, 38, [], 98, ~U[2025-12-07 12:30:45Z], ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], "Advent of Code Day 07!\n\nhttps://github.com/ChristopherBiscardi/advent-of-code/tree/b85cb32bbbe1a9a4fb5000ed70ac17e3cdd2ab78/2025/rust/day-07/src\n\nhttps://adventofcode.com/2025/day/7\n\n\n00:00 - Part 1\n17:41 - Part 2", "Day 07 - Advent of Code 2025", "WydCrKP1tOk", 1695, false, "https://www.youtube.com/watch?v=WydCrKP1tOk", "/downloads/chris/tubes/chris biscardi_[UCiSIL42pQRpc-8JNiYDFyzQ]/Season 2025/s2025e120700_Day 07 - Advent of Code 2025.mp4", false, 38, ~U[2025-12-07 12:30:45Z]] 14:20:24.849 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z], 38] 14:20:24.851 [debug] QUERY OK source="media_items" db=1.0ms 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")))) [38] 14:20:24.852 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [38] 14:20:24.852 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [38] 14:20:24.854 [debug] QUERY OK source="tasks" db=0.3ms idle=2.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541604, 38, ~U[2026-10-26 19:20:24Z], ~U[2026-10-26 19:20:24Z]] 14:20:24.854 [info] {"args":{"id":38},"id":541287,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":45295674,"event":"job:stop","queue_time":99452,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:20:30.526 [info] {"source":"oban","duration":9841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:00.295 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:21:00.536 [info] {"source":"oban","duration":9310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:30.547 [info] {"source":"oban","duration":9904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:00.249 [info] GET /sources/38/media/2018263 14:22:00.250 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2018263", "source_id" => "38"} Pipelines: [:browser] 14:22:00.250 [debug] QUERY OK source="media_items" db=0.2ms idle=1791.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" = ?) [2018263] 14:22:00.251 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [38] 14:22:00.251 [debug] QUERY OK source="tasks" db=0.7ms idle=1792.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" [2018263] 14:22:00.252 [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 [] 14:22:00.252 [debug] QUERY OK source="settings" db=0.0ms idle=522.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:00.252 [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 [] 14:22:00.253 [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] 14:22:00.254 [info] Sent 200 in 4ms 14:22:00.296 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:22:00.554 [info] {"source":"oban","duration":6190,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:05.959 [info] GET /sources/22/media/307945/edit 14:22:05.959 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "307945", "source_id" => "22"} Pipelines: [:browser] 14:22:05.959 [debug] QUERY OK source="media_items" db=0.3ms idle=1223.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" = ?) [307945] 14:22:05.960 [debug] QUERY OK source="settings" db=0.1ms 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 [] 14:22:05.960 [debug] QUERY OK source="settings" db=0.0ms idle=501.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:05.960 [debug] QUERY OK source="settings" db=0.1ms idle=502.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:05.961 [info] Sent 200 in 2ms 14:22:10.841 [info] GET /sources/57/media/3559656 14:22:10.842 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3559656", "source_id" => "57"} Pipelines: [:browser] 14:22:10.842 [debug] QUERY OK source="media_items" db=0.2ms idle=1383.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" = ?) [3559656] 14:22:10.843 [debug] QUERY OK source="sources" db=0.4ms idle=1384.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:22:10.843 [debug] QUERY OK source="tasks" db=0.6ms idle=1384.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" [3559656] 14:22:10.849 [debug] QUERY OK source="oban_jobs" db=5.0ms idle=1101.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [488583, 488595, 490241, 491898, 491910, 493621, 495720, 497803, 499440, 501152, 502789, 504458, 506131, 508223, 510367, 512670, 514307, 515582, 517330, 518678, 520343, 522248, 523712, 525467, 527162, 528869, 530953, 532922, 534789, 536756, 538811, 540416] 14:22:10.849 [debug] QUERY OK source="settings" db=0.1ms idle=105.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:10.850 [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 [] 14:22:10.850 [debug] QUERY OK source="settings" db=0.1ms 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 [] 14:22:10.851 [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] 14:22:10.855 [info] Sent 200 in 13ms 14:22:15.842 [info] GET /sources/52/media/3398481 14:22:15.842 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3398481", "source_id" => "52"} Pipelines: [:browser] 14:22:15.843 [debug] QUERY OK source="media_items" db=0.2ms idle=1384.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" = ?) [3398481] 14:22:15.843 [debug] QUERY OK source="tasks" db=0.2ms idle=1384.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" [3398481] 14:22:15.843 [debug] QUERY OK source="sources" db=0.3ms idle=1384.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:22:15.844 [debug] QUERY OK source="settings" db=0.1ms idle=1095.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:15.844 [debug] QUERY OK source="settings" db=0.0ms idle=94.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:15.844 [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 [] 14:22:15.845 [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] 14:22:15.846 [info] Sent 200 in 3ms 14:22:30.562 [info] {"source":"oban","duration":6380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:22:50.801 [info] {"args":{"id":52},"id":541602,"meta":{},"system_time":1793042570801551924,"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"]} 14:22:50.802 [debug] QUERY OK source="sources" db=0.2ms idle=1343.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:22:50.802 [debug] QUERY OK source="settings" db=0.1ms idle=1008.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:50.803 [debug] QUERY OK source="media_profiles" db=0.7ms idle=343.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] 14:22:50.803 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:50.803 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 14:22:51.124 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 14:22:51.125 [debug] QUERY OK source="media_items" db=0.4ms idle=323.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, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 14:22:51.126 [debug] QUERY OK source="media_items" db=0.9ms idle=323.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] 14:22:51.130 [debug] QUERY OK source="tasks" db=0.2ms idle=326.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541605, 1301334, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.135 [debug] QUERY OK source="tasks" db=0.3ms idle=5.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541606, 1301335, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.138 [info] {"args":{"id":1301334},"id":541605,"meta":{},"system_time":1793042571138196820,"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"]} 14:22:51.138 [info] {"args":{"id":1301335},"id":541606,"meta":{},"system_time":1793042571138235025,"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"]} 14:22:51.139 [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" = ?) [1301335] 14:22:51.139 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:51.139 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 14:22:51.139 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:51.139 [debug] QUERY OK source="sources" db=0.5ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:22:51.139 [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] 14:22:51.140 [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] 14:22:51.140 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 14:22:51.141 [debug] QUERY OK source="media_items" db=0.3ms queue=0.2ms 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] 14:22:51.141 [debug] QUERY OK source="media_items" db=0.4ms 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] 14:22:51.141 [debug] QUERY OK source="tasks" db=0.2ms idle=0.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541607, 1301347, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.142 [debug] QUERY OK source="media_metadata" db=0.2ms 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] 14:22:51.142 [debug] QUERY OK source="media_metadata" db=0.2ms 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] 14:22:51.143 [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] 14:22:51.143 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 14:22:51.143 [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 [] 14:22:51.143 [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 [] 14:22:51.143 [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 [] 14:22:51.144 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:51.144 [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 [] 14:22:51.144 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:51.144 [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 [] 14:22:51.144 [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 [] 14:22:51.144 [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 [] 14:22:51.145 [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/ba/96/ba96e4c04e196bd086c71dc008814d68b148f4f999c741ab7315b60449a752a9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:51.146 [debug] QUERY OK source="tasks" db=0.1ms idle=1.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541608, 1301392, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.146 [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 [] 14:22:51.147 [debug] QUERY OK source="settings" db=0.5ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:51.147 [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 [] 14:22:51.147 [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/98/cd98acc6404d6afce9b280bcb08a29eefd3f2522816a147c3ef3dd579c673b18.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:51.149 [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" [541609, 1301393, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.152 [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" [541610, 1301394, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.155 [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" [541611, 1301395, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.158 [debug] QUERY OK source="tasks" db=0.2ms idle=3.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541612, 1301397, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.161 [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" [541613, 1301398, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.164 [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" [541614, 1301399, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.167 [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" [541615, 1301400, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.170 [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" [541616, 2720968, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.173 [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" [541617, 3440530, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.175 [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" [541618, 3675707, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.176 [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" [541619, 52, ~U[2026-10-26 19:22:51Z], ~U[2026-10-26 19:22:51Z]] 14:22:51.177 [info] {"args":{"id":52},"id":541602,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":375264,"event":"job:stop","queue_time":350052,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:22:52.804 [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/98/cd98acc6404d6afce9b280bcb08a29eefd3f2522816a147c3ef3dd579c673b18.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. 14:22:52.804 [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" 14:22:52.804 [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" 14:22:52.805 [info] {"args":{"id":1301335},"id":541606,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1666674,"event":"job:stop","queue_time":136512,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:52.812 [info] {"args":{"id":1301347},"id":541607,"meta":{},"system_time":1793042572812467245,"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"]} 14:22:52.812 [debug] QUERY OK source="media_items" db=0.1ms idle=353.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] 14:22:52.812 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:52.813 [debug] QUERY OK source="sources" db=0.2ms idle=354.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:22:52.813 [debug] QUERY OK source="media_profiles" db=0.1ms idle=15.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] 14:22:52.813 [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 [1301347] 14:22:52.815 [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" = ?) [1301347] 14:22:52.815 [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] 14:22:52.815 [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 [] 14:22:52.815 [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 [] 14:22:52.815 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:52.816 [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 [] 14:22:52.816 [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 [] 14:22:52.816 [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 [] 14:22:52.816 [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/62/c3/62c39a9dfccda1d3703504a9551799280608b07a8408a776a3df36bb6ff42027.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:53.657 [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/ba/96/ba96e4c04e196bd086c71dc008814d68b148f4f999c741ab7315b60449a752a9.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. 14:22:53.658 [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" 14:22:53.658 [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" 14:22:53.658 [info] {"args":{"id":1301334},"id":541605,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2520051,"event":"job:stop","queue_time":136512,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:53.665 [info] {"args":{"id":1301392},"id":541608,"meta":{},"system_time":1793042573665129328,"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"]} 14:22:53.665 [debug] QUERY OK source="media_items" db=0.1ms idle=848.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] 14:22:53.665 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:53.665 [debug] QUERY OK source="sources" db=0.1ms idle=848.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:22:53.666 [debug] QUERY OK source="media_profiles" db=0.1ms idle=849.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] 14:22:53.666 [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] 14:22:53.668 [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" = ?) [1301392] 14:22:53.668 [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] 14:22:53.668 [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 [] 14:22:53.668 [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 [] 14:22:53.669 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:53.670 [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 [] 14:22:53.670 [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 [] 14:22:53.670 [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 [] 14:22:53.670 [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/a0/8b/a08b4b6c52682cc5b4adaad6ebb4fb1d46913689fed72bee6518f40e45ffb4ea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:54.684 [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/62/c3/62c39a9dfccda1d3703504a9551799280608b07a8408a776a3df36bb6ff42027.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. 14:22:54.684 [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" 14:22:54.684 [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" 14:22:54.685 [info] {"args":{"id":1301347},"id":541607,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1872245,"event":"job:stop","queue_time":1811568,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:54.691 [info] {"args":{"id":1301393},"id":541609,"meta":{},"system_time":1793042574691352848,"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"]} 14:22:54.691 [debug] QUERY OK source="media_items" db=0.1ms idle=1020.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] 14:22:54.691 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:54.692 [debug] QUERY OK source="sources" db=0.1ms idle=1021.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:22:54.692 [debug] QUERY OK source="media_profiles" db=0.1ms idle=894.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] 14:22:54.692 [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] 14:22:54.694 [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] 14:22:54.694 [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] 14:22:54.694 [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 [] 14:22:54.694 [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 [] 14:22:54.694 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:54.695 [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 [] 14:22:54.695 [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 [] 14:22:54.696 [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 [] 14:22:54.696 [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/5e/cd/5ecd402cba4731b30e930a0e45c4681e8098970489412d971f4881cab36b1ad7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:55.688 [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/a0/8b/a08b4b6c52682cc5b4adaad6ebb4fb1d46913689fed72bee6518f40e45ffb4ea.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. 14:22:55.688 [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" 14:22:55.688 [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" 14:22:55.688 [info] {"args":{"id":1301392},"id":541608,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2023209,"event":"job:stop","queue_time":2664524,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:55.695 [info] {"args":{"id":1301394},"id":541610,"meta":{},"system_time":1793042575695392406,"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"]} 14:22:55.695 [debug] QUERY OK source="media_items" db=0.1ms idle=999.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] 14:22:55.695 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:55.696 [debug] QUERY OK source="sources" db=0.1ms idle=999.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:22:55.696 [debug] QUERY OK source="media_profiles" db=0.1ms idle=896.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] 14:22:55.696 [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] 14:22:55.699 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301394] 14:22:55.699 [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] 14:22:55.700 [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 [] 14:22:55.700 [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 [] 14:22:55.700 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:55.701 [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 [] 14:22:55.701 [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 [] 14:22:55.701 [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 [] 14:22:55.701 [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/eb/f9/ebf9af7ab2eb3eb94b27a0b255eb7fdfd3fd293debeab4e13bb1d865ca917e10.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:56.708 [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/5e/cd/5ecd402cba4731b30e930a0e45c4681e8098970489412d971f4881cab36b1ad7.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. 14:22:56.708 [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" 14:22:56.708 [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" 14:22:56.708 [info] {"args":{"id":1301393},"id":541609,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2017292,"event":"job:stop","queue_time":3690560,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:56.715 [info] {"args":{"id":1301395},"id":541611,"meta":{},"system_time":1793042576715411540,"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"]} 14:22:56.715 [debug] QUERY OK source="media_items" db=0.3ms idle=1013.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] 14:22:56.716 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:56.716 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:22:56.716 [debug] QUERY OK source="media_profiles" db=0.1ms idle=916.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] 14:22:56.716 [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] 14:22:56.718 [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] 14:22:56.718 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:56.719 [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 [] 14:22:56.719 [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 [] 14:22:56.719 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:56.721 [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 [] 14:22:56.721 [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 [] 14:22:56.721 [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 [] 14:22:56.721 [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/d1/a9/d1a99bcd82a515d91bace40e93f770ab8c819d6b9d7092c528b8459f8e050ec7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:57.771 [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/eb/f9/ebf9af7ab2eb3eb94b27a0b255eb7fdfd3fd293debeab4e13bb1d865ca917e10.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. 14:22:57.771 [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" 14:22:57.771 [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" 14:22:57.771 [info] {"args":{"id":1301394},"id":541610,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2076260,"event":"job:stop","queue_time":4694523,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:57.778 [info] {"args":{"id":1301397},"id":541612,"meta":{},"system_time":1793042577778143796,"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"]} 14:22:57.778 [debug] QUERY OK source="media_items" db=0.1ms idle=1057.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] 14:22:57.778 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:57.779 [debug] QUERY OK source="sources" db=0.1ms idle=1057.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:22:57.779 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 14:22:57.779 [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] 14:22:57.781 [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" = ?) [1301397] 14:22:57.781 [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] 14:22:57.781 [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 [] 14:22:57.781 [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 [] 14:22:57.781 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:57.782 [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 [] 14:22:57.782 [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 [] 14:22:57.783 [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 [] 14:22:57.783 [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/10/39/10399fc039daf03eb4fe487c704453c067c1f685e2b76f6dfe13d1e9d305ddf4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:58.751 [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/d1/a9/d1a99bcd82a515d91bace40e93f770ab8c819d6b9d7092c528b8459f8e050ec7.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. 14:22:58.751 [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" 14:22:58.751 [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" 14:22:58.751 [info] {"args":{"id":1301395},"id":541611,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2036154,"event":"job:stop","queue_time":5714525,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:58.758 [info] {"args":{"id":1301398},"id":541613,"meta":{},"system_time":1793042578758396158,"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"]} 14:22:58.759 [debug] QUERY OK source="media_items" db=0.2ms idle=975.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] 14:22:58.759 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:58.759 [debug] QUERY OK source="sources" db=0.2ms idle=976.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:22:58.759 [debug] QUERY OK source="media_profiles" db=0.2ms idle=957.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] 14:22:58.760 [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] 14:22:58.761 [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" = ?) [1301398] 14:22:58.761 [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] 14:22:58.761 [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 [] 14:22:58.761 [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 [] 14:22:58.762 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:58.764 [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 [] 14:22:58.764 [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 [] 14:22:58.764 [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 [] 14:22:58.764 [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/b2/05/b2052a0da74014ef806d6f94f37f94de6fd4eee667bdd8a6a5cd74cce41ad340.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:59.619 [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/10/39/10399fc039daf03eb4fe487c704453c067c1f685e2b76f6dfe13d1e9d305ddf4.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. 14:22:59.619 [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" 14:22:59.619 [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" 14:22:59.619 [info] {"args":{"id":1301397},"id":541612,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1841295,"event":"job:stop","queue_time":6777565,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:59.626 [info] {"args":{"id":1301399},"id":541614,"meta":{},"system_time":1793042579626313143,"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"]} 14:22:59.626 [debug] QUERY OK source="media_items" db=0.1ms idle=862.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] 14:22:59.626 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:59.627 [debug] QUERY OK source="sources" db=0.1ms idle=862.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:22:59.627 [debug] QUERY OK source="media_profiles" db=0.1ms idle=822.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] 14:22:59.627 [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] 14:22:59.629 [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] 14:22:59.629 [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] 14:22:59.629 [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 [] 14:22:59.629 [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 [] 14:22:59.630 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:59.630 [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 [] 14:22:59.630 [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 [] 14:22:59.631 [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 [] 14:22:59.631 [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/e0/f5/e0f54168a0ae15b10ad9736ab71d00baa3ab8f22d8d42e2a707c942699a3f023.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:00.297 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:23:00.572 [info] {"source":"oban","duration":9553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:23:00.712 [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/b2/05/b2052a0da74014ef806d6f94f37f94de6fd4eee667bdd8a6a5cd74cce41ad340.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. 14:23:00.712 [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" 14:23:00.712 [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" 14:23:00.712 [info] {"args":{"id":1301398},"id":541613,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1954141,"event":"job:stop","queue_time":7757567,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:00.719 [info] {"args":{"id":1301400},"id":541615,"meta":{},"system_time":1793042580719272727,"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"]} 14:23:00.719 [debug] QUERY OK source="media_items" db=0.2ms idle=914.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] 14:23:00.719 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:00.720 [debug] QUERY OK source="sources" db=0.1ms idle=422.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:23:00.720 [debug] QUERY OK source="media_profiles" db=0.5ms idle=148.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] 14:23:00.721 [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 [1301400] 14:23:00.723 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301400] 14:23:00.723 [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] 14:23:00.723 [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 [] 14:23:00.723 [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 [] 14:23:00.723 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:00.724 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:00.724 [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 [] 14:23:00.725 [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 [] 14:23:00.725 [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/7a/03/7a03d831fd742845bcd78e6ed144f052652b6da01ccae449e850df45fba654fc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:01.913 [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/e0/f5/e0f54168a0ae15b10ad9736ab71d00baa3ab8f22d8d42e2a707c942699a3f023.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. 14:23:01.913 [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" 14:23:01.913 [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" 14:23:01.914 [info] {"args":{"id":1301399},"id":541614,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2287765,"event":"job:stop","queue_time":8625578,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:01.921 [info] {"args":{"id":2720968},"id":541616,"meta":{},"system_time":1793042581921364855,"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"]} 14:23:01.921 [debug] QUERY OK source="media_items" db=0.1ms idle=1196.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] 14:23:01.921 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:01.922 [debug] QUERY OK source="sources" db=0.1ms idle=1115.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:23:01.922 [debug] QUERY OK source="media_profiles" db=0.1ms idle=114.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] 14:23:01.922 [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 [2720968] 14:23:01.924 [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] 14:23:01.924 [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] 14:23:01.925 [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 [] 14:23:01.925 [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 [] 14:23:01.925 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:01.926 [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 [] 14:23:01.926 [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 [] 14:23:01.926 [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 [] 14:23:01.927 [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/54/2f/542fe2e04ea21d403d2fb940ce79c877eea8438c1fdf8bb70f7d6ec0a3d4738c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:02.668 [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/7a/03/7a03d831fd742845bcd78e6ed144f052652b6da01ccae449e850df45fba654fc.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. 14:23:02.668 [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" 14:23:02.668 [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" 14:23:02.669 [info] {"args":{"id":1301400},"id":541615,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1949374,"event":"job:stop","queue_time":9718560,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:02.675 [info] {"args":{"id":3440530},"id":541617,"meta":{},"system_time":1793042582675270639,"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"]} 14:23:02.675 [debug] QUERY OK source="media_items" db=0.2ms idle=748.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" = ?) [3440530] 14:23:02.675 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:02.676 [debug] QUERY OK source="sources" db=0.1ms idle=749.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:23:02.676 [debug] QUERY OK source="media_profiles" db=0.1ms idle=749.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:02.677 [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 [3440530] 14:23:02.678 [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" = ?) [3440530] 14:23:02.678 [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] 14:23:02.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 [] 14:23:02.679 [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 [] 14:23:02.679 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:02.680 [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 [] 14:23:02.680 [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 [] 14:23:02.680 [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 [] 14:23:02.680 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/95/5a/955a50e6dd8b1d317f8f6a081c149adf6da74cd283a4b220557428d4ae6c6f3f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:03.817 [info] {"args":{"id":51},"id":541603,"meta":{},"system_time":1793042583817623900,"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"]} 14:23:03.818 [debug] QUERY OK source="sources" db=0.2ms idle=1137.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:23:03.818 [debug] QUERY OK source="settings" db=0.1ms idle=1138.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:03.819 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:03.819 [debug] QUERY OK source="settings" db=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:03.819 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 14:23:03.972 [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/54/2f/542fe2e04ea21d403d2fb940ce79c877eea8438c1fdf8bb70f7d6ec0a3d4738c.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. 14:23:03.972 [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" 14:23:03.972 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 14:23:03.972 [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" 14:23:03.972 [info] {"args":{"id":2720968},"id":541616,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2050909,"event":"job:stop","queue_time":10920560,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:03.972 [debug] QUERY OK source="media_items" db=0.5ms idle=154.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, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 14:23:03.973 [debug] QUERY OK source="media_items" db=0.4ms idle=154.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] 14:23:03.974 [debug] QUERY OK source="tasks" db=0.2ms idle=1.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541620, 51, ~U[2026-10-26 19:23:03Z], ~U[2026-10-26 19:23:03Z]] 14:23:03.975 [info] {"args":{"id":51},"id":541603,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":157191,"event":"job:stop","queue_time":559686,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:23:03.979 [info] {"args":{"id":3675707},"id":541618,"meta":{},"system_time":1793042583979177260,"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"]} 14:23:03.979 [debug] QUERY OK source="media_items" db=0.1ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3675707] 14:23:03.979 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:03.979 [debug] QUERY OK source="sources" db=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:23:03.980 [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] 14:23:03.980 [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 [3675707] 14:23:03.981 [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" = ?) [3675707] 14:23:03.981 [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] 14:23:03.982 [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 [] 14:23:03.982 [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 [] 14:23:03.982 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:03.983 [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 [] 14:23:03.983 [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 [] 14:23:03.983 [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 [] 14:23:03.983 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/22/b9220892eb4268c86fdf5244f7745a7dbb124273cece77ca5b9e046318a032b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:04.511 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/95/5a/955a50e6dd8b1d317f8f6a081c149adf6da74cd283a4b220557428d4ae6c6f3f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 14:23:04.511 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:23:04.511 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:23:04.511 [info] {"args":{"id":3440530},"id":541617,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1836033,"event":"job:stop","queue_time":11674518,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:06.142 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b9/22/b9220892eb4268c86fdf5244f7745a7dbb124273cece77ca5b9e046318a032b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 14:23:06.142 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:23:06.142 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:23:06.142 [info] {"args":{"id":3675707},"id":541618,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2163149,"event":"job:stop","queue_time":12978579,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:23.141 [info] GET /sources/9/media/3762336 14:23:23.142 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3762336", "source_id" => "9"} Pipelines: [:browser] 14:23:23.142 [debug] QUERY OK source="media_items" db=0.2ms idle=1683.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" = ?) [3762336] 14:23:23.143 [debug] QUERY OK source="tasks" db=0.2ms idle=1684.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" [3762336] 14:23:23.143 [debug] QUERY OK source="sources" db=0.2ms idle=1684.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:23:23.143 [debug] QUERY OK source="settings" db=0.1ms 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 [] 14:23:23.143 [debug] QUERY OK source="settings" db=0.1ms idle=309.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:23.144 [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 [] 14:23:23.145 [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] 14:23:23.180 [info] Sent 200 in 38ms 14:23:27.848 [info] GET /sources/26/media/327249 14:23:27.848 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "327249", "source_id" => "26"} Pipelines: [:browser] 14:23:27.848 [debug] QUERY OK source="media_items" db=0.2ms idle=1389.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" = ?) [327249] 14:23:27.849 [debug] QUERY OK source="tasks" db=0.2ms idle=1390.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" [327249] 14:23:27.849 [debug] QUERY OK source="sources" db=0.3ms idle=1390.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:23:27.850 [debug] QUERY OK source="settings" db=0.0ms idle=1010.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:27.850 [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 [] 14:23:27.850 [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 [] 14:23:27.851 [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] 14:23:27.872 [info] Sent 200 in 23ms 14:23:30.581 [info] {"source":"oban","duration":9342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:32.849 [info] GET /sources/55/media/2962708 14:23:32.849 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2962708", "source_id" => "55"} Pipelines: [:browser] 14:23:32.850 [debug] QUERY OK source="media_items" db=0.1ms idle=1391.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" = ?) [2962708] 14:23:32.850 [debug] QUERY OK source="tasks" db=0.1ms idle=1391.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" [2962708] 14:23:32.850 [debug] QUERY OK source="sources" db=0.2ms idle=1004.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:23:32.851 [debug] QUERY OK source="settings" db=0.1ms idle=392.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:32.851 [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 [] 14:23:32.851 [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 [] 14:23:32.852 [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] 14:23:32.853 [info] Sent 200 in 3ms 14:23:34.858 [info] {"args":{"id":33},"id":541307,"meta":{},"system_time":1793042614858531291,"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"]} 14:23:34.859 [debug] QUERY OK source="sources" db=0.2ms idle=400.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:34.859 [debug] QUERY OK source="settings" db=0.2ms idle=400.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:34.860 [debug] QUERY OK source="media_items" db=0.5ms idle=400.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")))) [33] 14:23:34.861 [debug] QUERY OK source="media_items" db=0.7ms idle=8.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 14:23:34.861 [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] 14:23:34.861 [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 [] 14:23:34.861 [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 [] 14:23:34.863 [debug] QUERY OK source="media_items" db=0.7ms 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 [33] 14:23:34.865 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:23:34.865 [debug] Current batch of media processed. Will check again in 1000ms 14:23:34.865 [debug] QUERY OK source="settings" db=0.1ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:34.866 [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 [] 14:23:34.866 [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 [] 14:23:34.866 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCi8C7TNs2ohrc6hnRQ5Sn2w --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/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/ab/69ab4b1e6862f2c15ef8726689bd6911ba36559ad4631d8a0a6b136b13562a65.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/55/66/55668cfce9bc8c750a9c274b82785ddd24699c5336ef4e8029f799b08adaac08.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:35.866 [debug] Current batch of media processed. Will check again in 1000ms 14:23:36.867 [debug] Current batch of media processed. Will check again in 1000ms 14:23:37.850 [info] GET /sources/9/media/3534578/edit 14:23:37.850 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3534578", "source_id" => "9"} Pipelines: [:browser] 14:23:37.850 [debug] QUERY OK source="media_items" db=0.1ms idle=1391.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" = ?) [3534578] 14:23:37.850 [debug] QUERY OK source="settings" db=0.0ms idle=1392.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:37.851 [debug] QUERY OK source="settings" db=0.0ms idle=1392.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:37.851 [debug] QUERY OK source="settings" db=0.0ms idle=1392.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:37.852 [info] Sent 200 in 1ms 14:23:37.868 [debug] Current batch of media processed. Will check again in 1000ms 14:23:38.869 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Episode 4 - \"AI Psychosis\"\n\n- ep4: 10x engineer (AI psychosis).\n\nThanks https://edgerun.com for letting us use your field office.\n\nPursuit of AGI\neMudhra CVE\nMac Mini Cluster\nNvidia GPU cluster\nNvidia CUDA\nLinux\nNixOs\ncoding\nProgrammer humor\nProgramming jokes\nProgramming memes\ncracked engineer\nHacker lifestyle\n\n#programming\n#jokes\n#humor", "duration" => 357, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e102200_10x engineer (AI Psychosis).mp4", "id" => "WV6A1Zf3F2Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WV6A1Zf3F2Q", "playlist_index" => 1, "timestamp" => 1792698070, "title" => "10x engineer (AI Psychosis)", "upload_date" => "20261022"} 14:23:38.870 [debug] QUERY OK source="sources" db=0.2ms idle=1018.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:23:38.870 [debug] QUERY OK source="sources" db=0.1ms idle=1019.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:38.871 [debug] QUERY OK source="media_items" db=0.2ms idle=1019.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 19:41:10Z], 33] 14:23:38.872 [debug] QUERY OK source="media_items" db=0.9ms idle=1016.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" ["Episode 4 - \"AI Psychosis\"\n\n- ep4: 10x engineer (AI psychosis).\n\nThanks https://edgerun.com for letting us use your field office.\n\nPursuit of AGI\neMudhra CVE\nMac Mini Cluster\nNvidia GPU cluster\nNvidia CUDA\nLinux\nNixOs\ncoding\nProgrammer humor\nProgramming jokes\nProgramming memes\ncracked engineer\nHacker lifestyle\n\n#programming\n#jokes\n#humor", "10x engineer (AI Psychosis)", "84e5e8af-f283-4122-bf35-e8b98f86ee4b", "WV6A1Zf3F2Q", 357, false, "https://www.youtube.com/watch?v=WV6A1Zf3F2Q", 1, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e102200_10x engineer (AI Psychosis).mp4", false, false, false, 33, [], 98, ~U[2026-10-22 19:41:10Z], ~U[2026-10-26 19:23:38Z], ~U[2026-10-26 19:23:38Z], "Episode 4 - \"AI Psychosis\"\n\n- ep4: 10x engineer (AI psychosis).\n\nThanks https://edgerun.com for letting us use your field office.\n\nPursuit of AGI\neMudhra CVE\nMac Mini Cluster\nNvidia GPU cluster\nNvidia CUDA\nLinux\nNixOs\ncoding\nProgrammer humor\nProgramming jokes\nProgramming memes\ncracked engineer\nHacker lifestyle\n\n#programming\n#jokes\n#humor", "10x engineer (AI Psychosis)", "WV6A1Zf3F2Q", 357, false, "https://www.youtube.com/watch?v=WV6A1Zf3F2Q", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e102200_10x engineer (AI Psychosis).mp4", false, 33, ~U[2026-10-22 19:41:10Z]] 14:23:38.872 [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" = ?) [33] 14:23:38.872 [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] 14:23:38.873 [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 [4215984] 14:23:38.873 [debug] Current batch of media processed. Will check again in 1000ms 14:23:39.873 [debug] Current batch of media processed. Will check again in 1000ms 14:23:40.874 [debug] Current batch of media processed. Will check again in 1000ms 14:23:41.875 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Hyperoptimized Engineer\n\nShowcasing the AI work of Jackson Jineer the dream of every CEO.\n\nAI, Tokenmaxxing, Token efficiency, Ralph loops, Agent Swarms, Agentic Engineering, Optimizing AI, Ergonomic Chair.\n\nFeat. @Mytechceo \n\nDirector/DP: Oliver Stemmler\n\nSponsored by: https://turbopuffer.com/\n\n #aicoding #jokes #programming", "duration" => 282, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e101500_Hyperoptimized Engineer 2026.mp4", "id" => "MhEL9cvLxQE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MhEL9cvLxQE", "playlist_index" => 2, "timestamp" => 1792088703, "title" => "Hyperoptimized Engineer 2026", "upload_date" => "20261015"} 14:23:41.876 [debug] QUERY OK source="sources" db=0.1ms idle=1417.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:23:41.876 [debug] QUERY OK source="sources" db=0.1ms idle=1417.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:41.876 [debug] QUERY OK source="media_items" db=0.2ms idle=1417.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 18:25:03Z], 33] 14:23:41.877 [debug] QUERY OK source="media_items" db=0.8ms idle=1018.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" ["Hyperoptimized Engineer\n\nShowcasing the AI work of Jackson Jineer the dream of every CEO.\n\nAI, Tokenmaxxing, Token efficiency, Ralph loops, Agent Swarms, Agentic Engineering, Optimizing AI, Ergonomic Chair.\n\nFeat. @Mytechceo \n\nDirector/DP: Oliver Stemmler\n\nSponsored by: https://turbopuffer.com/\n\n #aicoding #jokes #programming", "Hyperoptimized Engineer 2026", "fbdfe2dd-3724-4d60-809d-ed8f24675b69", "MhEL9cvLxQE", 282, false, "https://www.youtube.com/watch?v=MhEL9cvLxQE", 2, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e101500_Hyperoptimized Engineer 2026.mp4", false, false, false, 33, [], 98, ~U[2026-10-15 18:25:03Z], ~U[2026-10-26 19:23:41Z], ~U[2026-10-26 19:23:41Z], "Hyperoptimized Engineer\n\nShowcasing the AI work of Jackson Jineer the dream of every CEO.\n\nAI, Tokenmaxxing, Token efficiency, Ralph loops, Agent Swarms, Agentic Engineering, Optimizing AI, Ergonomic Chair.\n\nFeat. @Mytechceo \n\nDirector/DP: Oliver Stemmler\n\nSponsored by: https://turbopuffer.com/\n\n #aicoding #jokes #programming", "Hyperoptimized Engineer 2026", "MhEL9cvLxQE", 282, false, "https://www.youtube.com/watch?v=MhEL9cvLxQE", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e101500_Hyperoptimized Engineer 2026.mp4", false, 33, ~U[2026-10-15 18:25:03Z]] 14:23:41.878 [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" = ?) [33] 14:23:41.878 [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] 14:23:41.878 [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 [4159701] 14:23:41.878 [debug] Current batch of media processed. Will check again in 1000ms 14:23:42.855 [info] GET /sources/57/media/3386349 14:23:42.855 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3386349", "source_id" => "57"} Pipelines: [:browser] 14:23:42.856 [debug] QUERY OK source="media_items" db=0.2ms idle=979.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" = ?) [3386349] 14:23:42.856 [debug] QUERY OK source="sources" db=0.2ms idle=978.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:23:42.857 [debug] QUERY OK source="tasks" db=0.4ms idle=978.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" [3386349] 14:23:42.858 [debug] QUERY OK source="oban_jobs" db=1.1ms idle=979.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [488594, 490252, 491909, 493632, 495731, 497814, 499451, 501151, 502788, 504457, 506130, 508222, 510366, 512669, 514306, 515581, 517329, 518677, 520342, 522247, 523711, 525466, 527161, 528868, 530952, 532921, 534788, 536755, 538810, 540415] 14:23:42.859 [debug] QUERY OK source="settings" db=0.0ms idle=980.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:42.859 [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 [] 14:23:42.859 [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 [] 14:23:42.860 [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] 14:23:42.862 [info] Sent 200 in 6ms 14:23:42.879 [debug] Current batch of media processed. Will check again in 1000ms 14:23:43.880 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Teenage Engineering\n\nInterview with a Teenage Engineering Designer with Sven Teshaiser - aired on © The Teenage Engineer 2026.\n\nTeenage Engineering’s CEO says it’ll stop making synths\nTeenage Engineering stops making synthesisers\n\n@teenageengineering \n\nThank you to @Hainbach for letting us use his studio.\n\nTeenage engineering OP-1\nDIY Engineering\nDIY Music instruments\nteenage engineering expensive\nmusic programming\nelectrical engineering humor\nengineering jokes\nmusic instruments humor\ndesigner humor\nsynthesizer humor\n\n#teenageengineering \n#jokes\n#diy", "duration" => 297, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e100700_Interview with a "Teenage Engineer".mp4", "id" => "562YtXAQDtg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=562YtXAQDtg", "playlist_index" => 3, "timestamp" => 1791376216, "title" => "Interview with a \"Teenage Engineer\"", "upload_date" => "20261007"} 14:23:43.881 [debug] QUERY OK source="sources" db=0.2ms idle=1021.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:23:43.881 [debug] QUERY OK source="sources" db=0.1ms idle=1022.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:43.882 [debug] QUERY OK source="media_items" db=0.4ms idle=1021.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-07 12:30:16Z], 33] 14:23:43.884 [debug] QUERY OK source="media_items" db=1.7ms idle=1022.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" ["Teenage Engineering\n\nInterview with a Teenage Engineering Designer with Sven Teshaiser - aired on © The Teenage Engineer 2026.\n\nTeenage Engineering’s CEO says it’ll stop making synths\nTeenage Engineering stops making synthesisers\n\n@teenageengineering \n\nThank you to @Hainbach for letting us use his studio.\n\nTeenage engineering OP-1\nDIY Engineering\nDIY Music instruments\nteenage engineering expensive\nmusic programming\nelectrical engineering humor\nengineering jokes\nmusic instruments humor\ndesigner humor\nsynthesizer humor\n\n#teenageengineering \n#jokes\n#diy", "Interview with a \"Teenage Engineer\"", "cdec24d9-64ee-4992-8798-2ad2e7403586", "562YtXAQDtg", 297, false, "https://www.youtube.com/watch?v=562YtXAQDtg", 3, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e100700_Interview with a "Teenage Engineer".mp4", false, false, false, 33, [], 98, ~U[2026-10-07 12:30:16Z], ~U[2026-10-26 19:23:43Z], ~U[2026-10-26 19:23:43Z], "Teenage Engineering\n\nInterview with a Teenage Engineering Designer with Sven Teshaiser - aired on © The Teenage Engineer 2026.\n\nTeenage Engineering’s CEO says it’ll stop making synths\nTeenage Engineering stops making synthesisers\n\n@teenageengineering \n\nThank you to @Hainbach for letting us use his studio.\n\nTeenage engineering OP-1\nDIY Engineering\nDIY Music instruments\nteenage engineering expensive\nmusic programming\nelectrical engineering humor\nengineering jokes\nmusic instruments humor\ndesigner humor\nsynthesizer humor\n\n#teenageengineering \n#jokes\n#diy", "Interview with a \"Teenage Engineer\"", "562YtXAQDtg", 297, false, "https://www.youtube.com/watch?v=562YtXAQDtg", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e100700_Interview with a "Teenage Engineer".mp4", false, 33, ~U[2026-10-07 12:30:16Z]] 14:23:43.885 [debug] QUERY OK source="sources" db=0.2ms idle=23.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:43.885 [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] 14:23:43.886 [debug] QUERY OK source="media_items" db=0.2ms 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 [4096701] 14:23:43.886 [debug] Current batch of media processed. Will check again in 1000ms 14:23:44.886 [debug] Current batch of media processed. Will check again in 1000ms 14:23:45.887 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Interview with the AI leaders signing 'constitution' commitment with Dario Amodei, Sundar Pichai, Jensen Huang, Elon Musk- aired on © The AI CEO 2026.\n\nOpenAI Whistleblower Jacob Coxon Warns Of ‘Human Extinction’ .\n\nBased on CNN interview and using Bloomberg Interview footage from the video Making A 'Plan B' for the AI Boom.\n\nAI meeting Trump, White House, chatGPT, Anthropic, AI Dangers.\n\n#ainews #anthropic #techindustry", "duration" => 412, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e093000_AI CEO Interviews be like….mp4", "id" => "DlTNN0gvkLM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DlTNN0gvkLM", "playlist_index" => 4, "timestamp" => 1790777883, "title" => "AI CEO Interviews be like…", "upload_date" => "20260930"} 14:23:45.888 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=429.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:23:45.888 [debug] QUERY OK source="sources" db=0.1ms idle=429.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:45.889 [debug] QUERY OK source="media_items" db=0.3ms idle=430.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-30 14:18:03Z], 33] 14:23:45.891 [debug] QUERY OK source="media_items" db=1.6ms idle=430.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" ["Interview with the AI leaders signing 'constitution' commitment with Dario Amodei, Sundar Pichai, Jensen Huang, Elon Musk- aired on © The AI CEO 2026.\n\nOpenAI Whistleblower Jacob Coxon Warns Of ‘Human Extinction’ .\n\nBased on CNN interview and using Bloomberg Interview footage from the video Making A 'Plan B' for the AI Boom.\n\nAI meeting Trump, White House, chatGPT, Anthropic, AI Dangers.\n\n#ainews #anthropic #techindustry", "AI CEO Interviews be like…", "e122c5dd-6538-4336-a826-71d90bca4540", "DlTNN0gvkLM", 412, false, "https://www.youtube.com/watch?v=DlTNN0gvkLM", 4, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e093000_AI CEO Interviews be like….mp4", false, false, false, 33, [], 98, ~U[2026-09-30 14:18:03Z], ~U[2026-10-26 19:23:45Z], ~U[2026-10-26 19:23:45Z], "Interview with the AI leaders signing 'constitution' commitment with Dario Amodei, Sundar Pichai, Jensen Huang, Elon Musk- aired on © The AI CEO 2026.\n\nOpenAI Whistleblower Jacob Coxon Warns Of ‘Human Extinction’ .\n\nBased on CNN interview and using Bloomberg Interview footage from the video Making A 'Plan B' for the AI Boom.\n\nAI meeting Trump, White House, chatGPT, Anthropic, AI Dangers.\n\n#ainews #anthropic #techindustry", "AI CEO Interviews be like…", "DlTNN0gvkLM", 412, false, "https://www.youtube.com/watch?v=DlTNN0gvkLM", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e093000_AI CEO Interviews be like….mp4", false, 33, ~U[2026-09-30 14:18:03Z]] 14:23:45.891 [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" = ?) [33] 14:23:45.891 [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] 14:23:45.892 [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 [4042281] 14:23:45.892 [debug] Current batch of media processed. Will check again in 1000ms 14:23:46.892 [debug] Current batch of media processed. Will check again in 1000ms 14:23:47.852 [info] GET /sources/55/media/2909119/edit 14:23:47.852 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "2909119", "source_id" => "55"} Pipelines: [:browser] 14:23:47.853 [debug] QUERY OK source="media_items" db=0.2ms idle=987.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] 14:23:47.853 [debug] QUERY OK source="settings" db=0.1ms idle=394.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:47.853 [debug] QUERY OK source="settings" db=0.1ms idle=395.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:47.854 [debug] QUERY OK source="settings" db=0.1ms idle=395.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:47.854 [info] Sent 200 in 2ms 14:23:47.893 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dying Company's Status Sync.\n\nSponsored by Linear. Get started at https://linear.app\n\nDying Company's Status Sync with Senior Agile Coach & Master Josh Doe in 2026 - aired on © The Agile Coach 2026.\n\nProgrammer humor \nprogrammer jokes\nCompany Meeting\nOffice comedy\nCorporate Jargon\nCorporate Life\nProduct Sync Meeting\nAgile Coach\nProject Management humor\nScrumaster\nManagement humor.\nCorporate Humor\n\n #office #humor #corporatelife", "duration" => 445, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e092400_Status Sync.mp4", "id" => "ZdGoO6A3CR0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZdGoO6A3CR0", "playlist_index" => 5, "timestamp" => 1790264983, "title" => "Status Sync", "upload_date" => "20260924"} 14:23:47.894 [debug] QUERY OK source="sources" db=0.2ms idle=40.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:23:47.894 [debug] QUERY OK source="sources" db=0.1ms idle=40.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:47.895 [debug] QUERY OK source="media_items" db=0.3ms idle=40.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-24 15:49:43Z], 33] 14:23:47.897 [debug] QUERY OK source="media_items" db=1.5ms idle=41.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" ["Dying Company's Status Sync.\n\nSponsored by Linear. Get started at https://linear.app\n\nDying Company's Status Sync with Senior Agile Coach & Master Josh Doe in 2026 - aired on © The Agile Coach 2026.\n\nProgrammer humor \nprogrammer jokes\nCompany Meeting\nOffice comedy\nCorporate Jargon\nCorporate Life\nProduct Sync Meeting\nAgile Coach\nProject Management humor\nScrumaster\nManagement humor.\nCorporate Humor\n\n #office #humor #corporatelife", "Status Sync", "04d6d070-1639-4411-9c7e-5bba7fa54a99", "ZdGoO6A3CR0", 445, false, "https://www.youtube.com/watch?v=ZdGoO6A3CR0", 5, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e092400_Status Sync.mp4", false, false, false, 33, [], 98, ~U[2026-09-24 15:49:43Z], ~U[2026-10-26 19:23:47Z], ~U[2026-10-26 19:23:47Z], "Dying Company's Status Sync.\n\nSponsored by Linear. Get started at https://linear.app\n\nDying Company's Status Sync with Senior Agile Coach & Master Josh Doe in 2026 - aired on © The Agile Coach 2026.\n\nProgrammer humor \nprogrammer jokes\nCompany Meeting\nOffice comedy\nCorporate Jargon\nCorporate Life\nProduct Sync Meeting\nAgile Coach\nProject Management humor\nScrumaster\nManagement humor.\nCorporate Humor\n\n #office #humor #corporatelife", "Status Sync", "ZdGoO6A3CR0", 445, false, "https://www.youtube.com/watch?v=ZdGoO6A3CR0", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e092400_Status Sync.mp4", false, 33, ~U[2026-09-24 15:49:43Z]] 14:23:47.897 [debug] QUERY OK source="sources" db=0.2ms idle=30.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:47.897 [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] 14:23:47.898 [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 [3997528] 14:23:47.898 [debug] Current batch of media processed. Will check again in 1000ms 14:23:48.898 [debug] Current batch of media processed. Will check again in 1000ms 14:23:49.899 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Interview with a Big Data engineer in 2026\n\n\nSponsored by https://railway.com - Railway, the all-in-one intelligent cloud provider\n\nInterview with a Big Data Engineer & Architect in 2026 with Azuros Cloudapi - aired on © The Big Data.\n\nScripts inspired by X account \"Devops Borat\"\n\nProgrammer humor\nBig Data engineering\nDevops humor\ndevops essentials\nHive tables\nAirflow Graph\nFlink\nApache Iceberg\nDatabricks\nKubernetes\nK8s\nCloud engineering\nObservability\nDocker\n\n\n\n\n#humor\n#programming \n#devops", "duration" => 518, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e091600_Interview with Big Data engineer in 2026..mp4", "id" => "FG8sUgjBGXs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FG8sUgjBGXs", "playlist_index" => 6, "timestamp" => 1789570780, "title" => "Interview with Big Data engineer in 2026.", "upload_date" => "20260916"} 14:23:49.900 [debug] QUERY OK source="sources" db=0.3ms idle=441.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:23:49.900 [debug] QUERY OK source="sources" db=0.1ms idle=442.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:49.901 [debug] QUERY OK source="media_items" db=0.3ms idle=442.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-16 14:59:40Z], 33] 14:23:49.905 [debug] QUERY OK source="media_items" db=3.2ms idle=443.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" ["Interview with a Big Data engineer in 2026\n\n\nSponsored by https://railway.com - Railway, the all-in-one intelligent cloud provider\n\nInterview with a Big Data Engineer & Architect in 2026 with Azuros Cloudapi - aired on © The Big Data.\n\nScripts inspired by X account \"Devops Borat\"\n\nProgrammer humor\nBig Data engineering\nDevops humor\ndevops essentials\nHive tables\nAirflow Graph\nFlink\nApache Iceberg\nDatabricks\nKubernetes\nK8s\nCloud engineering\nObservability\nDocker\n\n\n\n\n#humor\n#programming \n#devops", "Interview with Big Data engineer in 2026.", "58cf23af-fd98-4a0b-9965-b98f402bb8d5", "FG8sUgjBGXs", 518, false, "https://www.youtube.com/watch?v=FG8sUgjBGXs", 6, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e091600_Interview with Big Data engineer in 2026..mp4", false, false, false, 33, [], 98, ~U[2026-09-16 14:59:40Z], ~U[2026-10-26 19:23:49Z], ~U[2026-10-26 19:23:49Z], "Interview with a Big Data engineer in 2026\n\n\nSponsored by https://railway.com - Railway, the all-in-one intelligent cloud provider\n\nInterview with a Big Data Engineer & Architect in 2026 with Azuros Cloudapi - aired on © The Big Data.\n\nScripts inspired by X account \"Devops Borat\"\n\nProgrammer humor\nBig Data engineering\nDevops humor\ndevops essentials\nHive tables\nAirflow Graph\nFlink\nApache Iceberg\nDatabricks\nKubernetes\nK8s\nCloud engineering\nObservability\nDocker\n\n\n\n\n#humor\n#programming \n#devops", "Interview with Big Data engineer in 2026.", "FG8sUgjBGXs", 518, false, "https://www.youtube.com/watch?v=FG8sUgjBGXs", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e091600_Interview with Big Data engineer in 2026..mp4", false, 33, ~U[2026-09-16 14:59:40Z]] 14:23:49.905 [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" = ?) [33] 14:23:49.905 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:23:49.906 [debug] QUERY OK source="media_items" db=0.3ms 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 [3935478] 14:23:49.906 [debug] Current batch of media processed. Will check again in 1000ms 14:23:50.906 [debug] Current batch of media processed. Will check again in 1000ms 14:23:51.907 [debug] Current batch of media processed. Will check again in 1000ms 14:23:52.855 [info] GET /sources/38/media/2020529 14:23:52.855 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2020529", "source_id" => "38"} Pipelines: [:browser] 14:23:52.856 [debug] QUERY OK source="media_items" db=0.2ms idle=1397.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" = ?) [2020529] 14:23:52.856 [debug] QUERY OK source="tasks" db=0.1ms idle=1397.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" [2020529] 14:23:52.856 [debug] QUERY OK source="sources" db=0.3ms idle=1397.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:23:52.857 [debug] QUERY OK source="settings" db=0.1ms idle=1398.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:52.857 [debug] QUERY OK source="settings" db=0.1ms idle=987.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:52.857 [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 [] 14:23:52.858 [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] 14:23:52.859 [info] Sent 200 in 4ms 14:23:52.908 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Datacenter Tour with Kai Lentit.\n\nNOT sponsored.\nLearn more about Kai: https://realsta.cc/kai\n\nIrreverent tech bro Kai Lentit, tours a German data center in the midst of nowhere to source 20MWatts for what turns out to be an e-sports tournament server...or is it?\n\nThanks to Hetzner for letting us do the due diligence.\n\nBus simulator 2026\nGaming humor\nVPS hosting\nSever hosting\nCheap VPS hosting\nGPU cooling\nDatacenter hosting\nCloud hosting\nManaged serve\nRemote hands \nVisiting a datacenter\n\n\n#programming #humor #cloudcomputing", "duration" => 1069, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e090900_I Go To The Cloud..mp4", "id" => "i5GTwBTCQJI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i5GTwBTCQJI", "playlist_index" => 7, "timestamp" => 1788965279, "title" => "I Go To The Cloud.", "upload_date" => "20260909"} 14:23:52.909 [debug] QUERY OK source="sources" db=0.3ms 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" IN (?)) [33] 14:23:52.909 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:52.910 [debug] QUERY OK source="media_items" db=0.3ms idle=52.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-09 14:47:59Z], 33] 14:23:52.912 [debug] QUERY OK source="media_items" db=1.5ms idle=52.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" ["Datacenter Tour with Kai Lentit.\n\nNOT sponsored.\nLearn more about Kai: https://realsta.cc/kai\n\nIrreverent tech bro Kai Lentit, tours a German data center in the midst of nowhere to source 20MWatts for what turns out to be an e-sports tournament server...or is it?\n\nThanks to Hetzner for letting us do the due diligence.\n\nBus simulator 2026\nGaming humor\nVPS hosting\nSever hosting\nCheap VPS hosting\nGPU cooling\nDatacenter hosting\nCloud hosting\nManaged serve\nRemote hands \nVisiting a datacenter\n\n\n#programming #humor #cloudcomputing", "I Go To The Cloud.", "4fe4506d-45b1-4184-8555-3a7a025d66a4", "i5GTwBTCQJI", 1069, false, "https://www.youtube.com/watch?v=i5GTwBTCQJI", 7, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e090900_I Go To The Cloud..mp4", false, false, false, 33, [], 98, ~U[2026-09-09 14:47:59Z], ~U[2026-10-26 19:23:52Z], ~U[2026-10-26 19:23:52Z], "Datacenter Tour with Kai Lentit.\n\nNOT sponsored.\nLearn more about Kai: https://realsta.cc/kai\n\nIrreverent tech bro Kai Lentit, tours a German data center in the midst of nowhere to source 20MWatts for what turns out to be an e-sports tournament server...or is it?\n\nThanks to Hetzner for letting us do the due diligence.\n\nBus simulator 2026\nGaming humor\nVPS hosting\nSever hosting\nCheap VPS hosting\nGPU cooling\nDatacenter hosting\nCloud hosting\nManaged serve\nRemote hands \nVisiting a datacenter\n\n\n#programming #humor #cloudcomputing", "I Go To The Cloud.", "i5GTwBTCQJI", 1069, false, "https://www.youtube.com/watch?v=i5GTwBTCQJI", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e090900_I Go To The Cloud..mp4", false, 33, ~U[2026-09-09 14:47:59Z]] 14:23:52.912 [debug] QUERY OK source="sources" db=0.2ms idle=41.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:52.913 [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] 14:23:52.913 [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 [3879878] 14:23:52.913 [debug] Current batch of media processed. Will check again in 1000ms 14:23:53.914 [debug] Current batch of media processed. Will check again in 1000ms 14:23:54.915 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A official overhead-projector presentation by Jean-Baptiste Rossi-Mueller right before his 3 months summer holiday.\n\nFind his toolstack here on MY platform: https://www.realsta.cc/eufounder\n\nNot supported by the EU.\n\neuropean ai\neu/acc\nnext gen ai\ntechindustry\n\n#officehumor #techindustry #europeanunion", "duration" => 599, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e082600_How Americans see EU Tech.mp4", "id" => "gGlpBuW6ZFc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gGlpBuW6ZFc", "playlist_index" => 8, "timestamp" => 1787757771, "title" => "How Americans see EU Tech", "upload_date" => "20260826"} 14:23:54.916 [debug] QUERY OK source="sources" db=0.2ms idle=457.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:23:54.916 [debug] QUERY OK source="sources" db=0.1ms idle=457.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:54.917 [debug] QUERY OK source="media_items" db=0.3ms idle=458.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-26 15:22:51Z], 33] 14:23:54.919 [debug] QUERY OK source="media_items" db=1.6ms idle=458.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 official overhead-projector presentation by Jean-Baptiste Rossi-Mueller right before his 3 months summer holiday.\n\nFind his toolstack here on MY platform: https://www.realsta.cc/eufounder\n\nNot supported by the EU.\n\neuropean ai\neu/acc\nnext gen ai\ntechindustry\n\n#officehumor #techindustry #europeanunion", "How Americans see EU Tech", "3017e600-4973-4d36-9a79-674c0249305d", "gGlpBuW6ZFc", 599, false, "https://www.youtube.com/watch?v=gGlpBuW6ZFc", 8, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e082600_How Americans see EU Tech.mp4", false, false, false, 33, [], 98, ~U[2026-08-26 15:22:51Z], ~U[2026-10-26 19:23:54Z], ~U[2026-10-26 19:23:54Z], "A official overhead-projector presentation by Jean-Baptiste Rossi-Mueller right before his 3 months summer holiday.\n\nFind his toolstack here on MY platform: https://www.realsta.cc/eufounder\n\nNot supported by the EU.\n\neuropean ai\neu/acc\nnext gen ai\ntechindustry\n\n#officehumor #techindustry #europeanunion", "How Americans see EU Tech", "gGlpBuW6ZFc", 599, false, "https://www.youtube.com/watch?v=gGlpBuW6ZFc", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e082600_How Americans see EU Tech.mp4", false, 33, ~U[2026-08-26 15:22:51Z]] 14:23:54.919 [debug] QUERY OK source="sources" db=0.2ms idle=45.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:54.920 [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] 14:23:54.920 [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 [3769666] 14:23:54.920 [debug] Current batch of media processed. Will check again in 1000ms 14:23:55.921 [debug] Current batch of media processed. Will check again in 1000ms 14:23:56.922 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.33, "description" => "", "duration" => 419, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e081300_MTV Cribs - San Francisco [HD].mp4", "id" => "x0Cr-UhKhZI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=x0Cr-UhKhZI", "playlist_index" => 9, "timestamp" => 1786644929, "title" => "MTV Cribs - San Francisco [HD]", "upload_date" => "20260813"} 14:23:56.923 [debug] QUERY OK source="sources" db=0.2ms idle=464.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:23:56.923 [debug] QUERY OK source="sources" db=0.1ms idle=464.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:56.924 [debug] QUERY OK source="media_items" db=0.4ms idle=465.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-13 18:15:29Z], 33] 14:23:56.934 [debug] QUERY OK source="media_items" db=9.6ms idle=465.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["MTV Cribs - San Francisco [HD]", "ef562ba4-3797-4da7-8536-bec69a661c89", "x0Cr-UhKhZI", 419, false, "https://www.youtube.com/watch?v=x0Cr-UhKhZI", 9, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e081300_MTV Cribs - San Francisco [HD].mp4", false, false, false, 33, [], 98, ~U[2026-08-13 18:15:29Z], ~U[2026-10-26 19:23:56Z], ~U[2026-10-26 19:23:56Z], "", "MTV Cribs - San Francisco [HD]", "x0Cr-UhKhZI", 419, false, "https://www.youtube.com/watch?v=x0Cr-UhKhZI", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e081300_MTV Cribs - San Francisco [HD].mp4", false, 33, ~U[2026-08-13 18:15:29Z]] 14:23:56.934 [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" = ?) [33] 14:23:56.935 [debug] QUERY OK source="media_profiles" db=0.3ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:56.935 [debug] QUERY OK source="media_items" db=0.2ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3667119] 14:23:56.935 [debug] Current batch of media processed. Will check again in 1000ms 14:23:57.865 [info] GET /sources/55/media/3716653/edit 14:23:57.866 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3716653", "source_id" => "55"} Pipelines: [:browser] 14:23:57.866 [debug] QUERY OK source="media_items" db=0.3ms idle=942.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" = ?) [3716653] 14:23:57.867 [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 [] 14:23:57.867 [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 [] 14:23:57.867 [debug] QUERY OK source="settings" db=0.0ms idle=932.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:57.868 [info] Sent 200 in 2ms 14:23:57.936 [debug] Current batch of media processed. Will check again in 1000ms 14:23:58.937 [debug] Current batch of media processed. Will check again in 1000ms 14:23:59.938 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Corporate Sysadmin. Three CIOs. Zero documented SOPs.\n\nSponsored by: https://turbopuffer.com/\n\nInterview with an Sysadmin with Walter Wallis - aired on © Sysadmin 2026.\n\nFind more characters on https://www.realsta.cc/sysadmin\nIn this interview, a 2010-era Windows sysadmin explains how change management, and the phrase \"currently, our position is no\" have kept him employed through four \"transformations\" and one AI mandate. From the server that hasn't been rebooted since 2013, the 91 members in the temp security group, to the backup strategy that has never survived a restore test.\n\n⏱ CHAPTERS\n00:00 – Intro\n\nIT crowd\nIT admin humor\nOffice Space\nprogramminghumor\nprogramming jokes\ndevops\nsysadmin\nwindows admin\nIT admin\ncitrix\nwindows server\nofficecomedy\nBOFH\n\n#sysadmin #programmingjokes #corporatehumor", "duration" => 413, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e072900_Interview with a Sysadmin in 2026 [Corporate].mp4", "id" => "I7IHInNJZvE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=I7IHInNJZvE", "playlist_index" => 10, "timestamp" => 1785342947, "title" => "Interview with a Sysadmin in 2026 [Corporate]", "upload_date" => "20260729"} 14:23:59.939 [debug] QUERY OK source="sources" db=0.1ms idle=480.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:23:59.939 [debug] QUERY OK source="sources" db=0.1ms idle=480.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:59.939 [debug] QUERY OK source="media_items" db=0.2ms idle=480.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 16:35:47Z], 33] 14:23:59.940 [debug] QUERY OK source="media_items" db=0.8ms idle=481.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" ["Corporate Sysadmin. Three CIOs. Zero documented SOPs.\n\nSponsored by: https://turbopuffer.com/\n\nInterview with an Sysadmin with Walter Wallis - aired on © Sysadmin 2026.\n\nFind more characters on https://www.realsta.cc/sysadmin\nIn this interview, a 2010-era Windows sysadmin explains how change management, and the phrase \"currently, our position is no\" have kept him employed through four \"transformations\" and one AI mandate. From the server that hasn't been rebooted since 2013, the 91 members in the temp security group, to the backup strategy that has never survived a restore test.\n\n⏱ CHAPTERS\n00:00 – Intro\n\nIT crowd\nIT admin humor\nOffice Space\nprogramminghumor\nprogramming jokes\ndevops\nsysadmin\nwindows admin\nIT admin\ncitrix\nwindows server\nofficecomedy\nBOFH\n\n#sysadmin #programmingjokes #corporatehumor", "Interview with a Sysadmin in 2026 [Corporate]", "69c84867-5284-4437-b7f2-7bed48e24f07", "I7IHInNJZvE", 413, false, "https://www.youtube.com/watch?v=I7IHInNJZvE", 10, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e072900_Interview with a Sysadmin in 2026 [Corporate].mp4", false, false, false, 33, [], 98, ~U[2026-07-29 16:35:47Z], ~U[2026-10-26 19:23:59Z], ~U[2026-10-26 19:23:59Z], "Corporate Sysadmin. Three CIOs. Zero documented SOPs.\n\nSponsored by: https://turbopuffer.com/\n\nInterview with an Sysadmin with Walter Wallis - aired on © Sysadmin 2026.\n\nFind more characters on https://www.realsta.cc/sysadmin\nIn this interview, a 2010-era Windows sysadmin explains how change management, and the phrase \"currently, our position is no\" have kept him employed through four \"transformations\" and one AI mandate. From the server that hasn't been rebooted since 2013, the 91 members in the temp security group, to the backup strategy that has never survived a restore test.\n\n⏱ CHAPTERS\n00:00 – Intro\n\nIT crowd\nIT admin humor\nOffice Space\nprogramminghumor\nprogramming jokes\ndevops\nsysadmin\nwindows admin\nIT admin\ncitrix\nwindows server\nofficecomedy\nBOFH\n\n#sysadmin #programmingjokes #corporatehumor", "Interview with a Sysadmin in 2026 [Corporate]", "I7IHInNJZvE", 413, false, "https://www.youtube.com/watch?v=I7IHInNJZvE", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e072900_Interview with a Sysadmin in 2026 [Corporate].mp4", false, 33, ~U[2026-07-29 16:35:47Z]] 14:23:59.941 [debug] QUERY OK source="sources" db=0.1ms idle=62.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:23:59.941 [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] 14:23:59.941 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3550000] 14:23:59.941 [debug] Current batch of media processed. Will check again in 1000ms 14:24:00.298 [info] {"source":"oban","duration":149,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:24:00.590 [info] {"source":"oban","duration":7728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:00.942 [debug] Current batch of media processed. Will check again in 1000ms 14:24:01.943 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Longevity Maxxing / Biohacking\nHis stack: https://realsta.cc/livoreva\n\nOn mission to live forever Livo Réva shows off his product stack… that does not let him sleep at night.\nInterview with a Longevity Maxxer with Livo Réva - aired on © The Longevity.\n\nBryan Johnson\nDon’t die\nBlueprint\nlongevity\nbiohacking\nbiohacker\noptimization\nhealth optimization\nquantified self\nglucose monitor\nWHOOP\nOura Ring\nice bath\nsauna\nHRV\nsleep optimization\nmicroplastics\nseed oils\nsupplements\nAura ring\n\n#humor #biohacking #bryanjohnson", "duration" => 402, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e071600_Interview with a Longevity Maxxer in 2026.mp4", "id" => "qRV-XzO_u0g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qRV-XzO_u0g", "playlist_index" => 11, "timestamp" => 1784219394, "title" => "Interview with a Longevity Maxxer in 2026", "upload_date" => "20260716"} 14:24:01.944 [debug] QUERY OK source="sources" db=0.2ms 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 (?)) [33] 14:24:01.944 [debug] QUERY OK source="sources" db=0.1ms idle=485.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:01.945 [debug] QUERY OK source="media_items" db=0.3ms idle=486.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-16 16:29:54Z], 33] 14:24:01.946 [debug] QUERY OK source="media_items" db=1.0ms idle=486.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" ["Longevity Maxxing / Biohacking\nHis stack: https://realsta.cc/livoreva\n\nOn mission to live forever Livo Réva shows off his product stack… that does not let him sleep at night.\nInterview with a Longevity Maxxer with Livo Réva - aired on © The Longevity.\n\nBryan Johnson\nDon’t die\nBlueprint\nlongevity\nbiohacking\nbiohacker\noptimization\nhealth optimization\nquantified self\nglucose monitor\nWHOOP\nOura Ring\nice bath\nsauna\nHRV\nsleep optimization\nmicroplastics\nseed oils\nsupplements\nAura ring\n\n#humor #biohacking #bryanjohnson", "Interview with a Longevity Maxxer in 2026", "1844bed8-3eb8-4098-8e52-48d1b48d26a9", "qRV-XzO_u0g", 402, false, "https://www.youtube.com/watch?v=qRV-XzO_u0g", 11, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e071600_Interview with a Longevity Maxxer in 2026.mp4", false, false, false, 33, [], 98, ~U[2026-07-16 16:29:54Z], ~U[2026-10-26 19:24:01Z], ~U[2026-10-26 19:24:01Z], "Longevity Maxxing / Biohacking\nHis stack: https://realsta.cc/livoreva\n\nOn mission to live forever Livo Réva shows off his product stack… that does not let him sleep at night.\nInterview with a Longevity Maxxer with Livo Réva - aired on © The Longevity.\n\nBryan Johnson\nDon’t die\nBlueprint\nlongevity\nbiohacking\nbiohacker\noptimization\nhealth optimization\nquantified self\nglucose monitor\nWHOOP\nOura Ring\nice bath\nsauna\nHRV\nsleep optimization\nmicroplastics\nseed oils\nsupplements\nAura ring\n\n#humor #biohacking #bryanjohnson", "Interview with a Longevity Maxxer in 2026", "qRV-XzO_u0g", 402, false, "https://www.youtube.com/watch?v=qRV-XzO_u0g", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e071600_Interview with a Longevity Maxxer in 2026.mp4", false, 33, ~U[2026-07-16 16:29:54Z]] 14:24:01.947 [debug] QUERY OK source="sources" db=0.6ms idle=66.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:01.947 [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] 14:24:01.948 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3447033] 14:24:01.948 [debug] Current batch of media processed. Will check again in 1000ms 14:24:02.857 [info] GET /sources/52/media/1301392 14:24:02.857 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1301392", "source_id" => "52"} Pipelines: [:browser] 14:24:02.858 [debug] QUERY OK source="media_items" db=0.2ms idle=912.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] 14:24:02.858 [debug] QUERY OK source="sources" db=0.2ms idle=910.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:02.866 [debug] QUERY OK source="tasks" db=8.5ms idle=911.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" [1301392] 14:24:02.948 [debug] Current batch of media processed. Will check again in 1000ms 14:24:03.253 [debug] QUERY OK source="oban_jobs" db=374.4ms idle=931.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [488536, 488570, 488605, 488627, 488652, 488669, 488686, 488704, 488817, 488833, 488850, 488870, 488886, 488903, 488921, 488938, 488958, 488979, 488995, 489012, 489030, 489046, 489063, 489082, 489098, 489115, 489134, 489150, 489167, 489187, 489203, 489220, 489238, 489254, 489274, 489292, 489310, 489327, 489345, 489361, 489378, 489396, 489415, 489432, 489450, 489466, 489483, 489501, 489519, 489536, ...] 14:24:03.280 [debug] QUERY OK source="settings" db=0.1ms idle=421.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:03.280 [debug] QUERY OK source="settings" db=0.0ms idle=421.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:03.280 [debug] QUERY OK source="settings" db=0.0ms idle=413.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:03.280 [debug] QUERY OK source="media_profiles" db=0.0ms idle=390.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] 14:24:03.455 [info] Sent 200 in 598ms 14:24:03.949 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "On-call Engineer\n\nInterview with an On-call engineer in 2026 with Walter Wallis - aired on © The On-Call engineer.\nThank you to Hetzner for letting us film! All filmed under strict German supervision.\n\nWalter Wallis shares the stories of his on-call life and is being interrupted by test calls on his pager. Until one of them is not a test call.\n\nFeaturing @Mytechceo \n\nProgrammer humor\nProgramming jokes\nOncall Dance\nOn-call humor\nDevops \nPager duty\nCloud computing\nData center video\nData center tour\nOn-call life\nOn-prem migration\nSSL cert expired\nOne Dance\nKubernetes\nCloud engineering\nPrometheus\nObservability\n\n#programming #jokes #devops", "duration" => 419, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e070700_*On-Call Engineer*.mp4", "id" => "sY1UqUuBqQQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sY1UqUuBqQQ", "playlist_index" => 12, "timestamp" => 1783435258, "title" => "*On-Call Engineer*", "upload_date" => "20260707"} 14:24:03.950 [debug] QUERY OK source="sources" db=0.2ms idle=669.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:24:03.950 [debug] QUERY OK source="sources" db=0.1ms idle=670.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:03.951 [debug] QUERY OK source="media_items" db=0.3ms idle=670.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-07 14:40:58Z], 33] 14:24:03.952 [debug] QUERY OK source="media_items" db=1.1ms idle=670.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" ["On-call Engineer\n\nInterview with an On-call engineer in 2026 with Walter Wallis - aired on © The On-Call engineer.\nThank you to Hetzner for letting us film! All filmed under strict German supervision.\n\nWalter Wallis shares the stories of his on-call life and is being interrupted by test calls on his pager. Until one of them is not a test call.\n\nFeaturing @Mytechceo \n\nProgrammer humor\nProgramming jokes\nOncall Dance\nOn-call humor\nDevops \nPager duty\nCloud computing\nData center video\nData center tour\nOn-call life\nOn-prem migration\nSSL cert expired\nOne Dance\nKubernetes\nCloud engineering\nPrometheus\nObservability\n\n#programming #jokes #devops", "*On-Call Engineer*", "151cf013-0321-43da-828e-f52dbdeab809", "sY1UqUuBqQQ", 419, false, "https://www.youtube.com/watch?v=sY1UqUuBqQQ", 12, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e070700_*On-Call Engineer*.mp4", false, false, false, 33, [], 98, ~U[2026-07-07 14:40:58Z], ~U[2026-10-26 19:24:03Z], ~U[2026-10-26 19:24:03Z], "On-call Engineer\n\nInterview with an On-call engineer in 2026 with Walter Wallis - aired on © The On-Call engineer.\nThank you to Hetzner for letting us film! All filmed under strict German supervision.\n\nWalter Wallis shares the stories of his on-call life and is being interrupted by test calls on his pager. Until one of them is not a test call.\n\nFeaturing @Mytechceo \n\nProgrammer humor\nProgramming jokes\nOncall Dance\nOn-call humor\nDevops \nPager duty\nCloud computing\nData center video\nData center tour\nOn-call life\nOn-prem migration\nSSL cert expired\nOne Dance\nKubernetes\nCloud engineering\nPrometheus\nObservability\n\n#programming #jokes #devops", "*On-Call Engineer*", "sY1UqUuBqQQ", 419, false, "https://www.youtube.com/watch?v=sY1UqUuBqQQ", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e070700_*On-Call Engineer*.mp4", false, 33, ~U[2026-07-07 14:40:58Z]] 14:24:03.953 [debug] QUERY OK source="sources" db=0.9ms idle=61.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:03.954 [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] 14:24:03.954 [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 [3376138] 14:24:03.954 [debug] Current batch of media processed. Will check again in 1000ms 14:24:04.955 [debug] Current batch of media processed. Will check again in 1000ms 14:24:05.956 [debug] Current batch of media processed. Will check again in 1000ms 14:24:06.958 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Database Administrator\n\nInterview with a DBA with Walter Wallis - aired on the DBA 2026.\n\nSponsored by Jetbrains: https://www.jetbrains.com/idea/\n\n\ncredits: some jokes from twitter @DEVOPS_BORAT and derivative channels.\n\nProgrammerhumor\nProgramming jokes\nVim\nProd is down\nServerless\nDatabase reliability engineer \nMySQL\nOncall\nServer room\nOracle db\n\n#programming #jokes #database", "duration" => 458, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e063000_Interview with a DBA (Database Administrator).mp4", "id" => "5KyfW79Ld4g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5KyfW79Ld4g", "playlist_index" => 13, "timestamp" => 1782833504, "title" => "Interview with a DBA (Database Administrator)", "upload_date" => "20260630"} 14:24:06.958 [debug] QUERY OK source="sources" db=0.3ms idle=1499.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:24:06.959 [debug] QUERY OK source="sources" db=0.2ms idle=1500.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:06.959 [debug] QUERY OK source="media_items" db=0.4ms idle=1500.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-30 15:31:44Z], 33] 14:24:06.961 [debug] QUERY OK source="media_items" db=1.6ms idle=1065.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" ["Database Administrator\n\nInterview with a DBA with Walter Wallis - aired on the DBA 2026.\n\nSponsored by Jetbrains: https://www.jetbrains.com/idea/\n\n\ncredits: some jokes from twitter @DEVOPS_BORAT and derivative channels.\n\nProgrammerhumor\nProgramming jokes\nVim\nProd is down\nServerless\nDatabase reliability engineer \nMySQL\nOncall\nServer room\nOracle db\n\n#programming #jokes #database", "Interview with a DBA (Database Administrator)", "abffd6b1-d102-4ae5-8178-fe08e4e84432", "5KyfW79Ld4g", 458, false, "https://www.youtube.com/watch?v=5KyfW79Ld4g", 13, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e063000_Interview with a DBA (Database Administrator).mp4", false, false, false, 33, [], 98, ~U[2026-06-30 15:31:44Z], ~U[2026-10-26 19:24:06Z], ~U[2026-10-26 19:24:06Z], "Database Administrator\n\nInterview with a DBA with Walter Wallis - aired on the DBA 2026.\n\nSponsored by Jetbrains: https://www.jetbrains.com/idea/\n\n\ncredits: some jokes from twitter @DEVOPS_BORAT and derivative channels.\n\nProgrammerhumor\nProgramming jokes\nVim\nProd is down\nServerless\nDatabase reliability engineer \nMySQL\nOncall\nServer room\nOracle db\n\n#programming #jokes #database", "Interview with a DBA (Database Administrator)", "5KyfW79Ld4g", 458, false, "https://www.youtube.com/watch?v=5KyfW79Ld4g", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e063000_Interview with a DBA (Database Administrator).mp4", false, 33, ~U[2026-06-30 15:31:44Z]] 14:24:06.962 [debug] QUERY OK source="sources" db=0.2ms idle=66.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:06.962 [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] 14:24:06.963 [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 [3320994] 14:24:06.963 [debug] Current batch of media processed. Will check again in 1000ms 14:24:07.858 [info] GET /sources/9/media/3274647/edit 14:24:07.858 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3274647", "source_id" => "9"} Pipelines: [:browser] 14:24:07.859 [debug] QUERY OK source="media_items" db=0.2ms idle=899.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" = ?) [3274647] 14:24:07.859 [debug] QUERY OK source="settings" db=0.1ms idle=897.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:07.859 [debug] QUERY OK source="settings" db=0.0ms idle=897.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:07.860 [debug] QUERY OK source="settings" db=0.0ms idle=897.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:07.860 [info] Sent 200 in 2ms 14:24:07.963 [debug] Current batch of media processed. Will check again in 1000ms 14:24:08.964 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Generative AI - Victor Riparbelli\n\nInterview with Synthesia Cofounder and CEO Victor Riparbelli about AI Video Generation, useless AI Regulation in Europe and less Ethics aired on © Who Is Technology 2026\n\nGuest appearance of an AI version of Mark Cuban.\n\nAI Video Generation\nGenAI\nFuture of AI Filmmaking\nAI regulation \nAI video tools\nProgrammer humor\nMark Cuban \nProgramming memes\nState of Gen AI 2026\n\n\n#aivideo \n#humor \n#nextgenai", "duration" => 598, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e062500_Interview with a GenAI CEO (Synthesia CEO - $4B).mp4", "id" => "PwlMKcBtQw8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=PwlMKcBtQw8", "playlist_index" => 14, "timestamp" => 1782394219, "title" => "Interview with a GenAI CEO (Synthesia CEO - $4B)", "upload_date" => "20260625"} 14:24:08.965 [debug] QUERY OK source="sources" db=0.1ms idle=1105.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:24:08.965 [debug] QUERY OK source="sources" db=0.1ms idle=1105.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:08.965 [debug] QUERY OK source="media_items" db=0.2ms idle=1105.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:30:19Z], 33] 14:24:08.967 [debug] QUERY OK source="media_items" db=1.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" ["Generative AI - Victor Riparbelli\n\nInterview with Synthesia Cofounder and CEO Victor Riparbelli about AI Video Generation, useless AI Regulation in Europe and less Ethics aired on © Who Is Technology 2026\n\nGuest appearance of an AI version of Mark Cuban.\n\nAI Video Generation\nGenAI\nFuture of AI Filmmaking\nAI regulation \nAI video tools\nProgrammer humor\nMark Cuban \nProgramming memes\nState of Gen AI 2026\n\n\n#aivideo \n#humor \n#nextgenai", "Interview with a GenAI CEO (Synthesia CEO - $4B)", "50f3695a-ae12-48df-a7f7-acae0bb9065d", "PwlMKcBtQw8", 598, false, "https://www.youtube.com/watch?v=PwlMKcBtQw8", 14, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e062500_Interview with a GenAI CEO (Synthesia CEO - $4B).mp4", false, false, false, 33, [], 98, ~U[2026-06-25 13:30:19Z], ~U[2026-10-26 19:24:08Z], ~U[2026-10-26 19:24:08Z], "Generative AI - Victor Riparbelli\n\nInterview with Synthesia Cofounder and CEO Victor Riparbelli about AI Video Generation, useless AI Regulation in Europe and less Ethics aired on © Who Is Technology 2026\n\nGuest appearance of an AI version of Mark Cuban.\n\nAI Video Generation\nGenAI\nFuture of AI Filmmaking\nAI regulation \nAI video tools\nProgrammer humor\nMark Cuban \nProgramming memes\nState of Gen AI 2026\n\n\n#aivideo \n#humor \n#nextgenai", "Interview with a GenAI CEO (Synthesia CEO - $4B)", "PwlMKcBtQw8", 598, false, "https://www.youtube.com/watch?v=PwlMKcBtQw8", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e062500_Interview with a GenAI CEO (Synthesia CEO - $4B).mp4", false, 33, ~U[2026-06-25 13:30:19Z]] 14:24:08.967 [debug] QUERY OK source="sources" db=0.1ms idle=68.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:08.967 [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] 14:24:08.968 [debug] QUERY OK source="media_items" db=0.1ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3281564] 14:24:08.968 [debug] Current batch of media processed. Will check again in 1000ms 14:24:09.968 [debug] Current batch of media processed. Will check again in 1000ms 14:24:10.969 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Management and its team have to finish off the OKR cycle.\n\n!Warning: This video contains the slack and iMessage sound.\n\nSponsored my Mistral AI at https://mistral.ai\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "duration" => 375, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e061700_OKR calibration sync..mp4", "id" => "nuUVYEW3M3A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nuUVYEW3M3A", "playlist_index" => 15, "timestamp" => 1781706582, "title" => "OKR calibration sync.", "upload_date" => "20260617"} 14:24:10.970 [debug] QUERY OK source="sources" db=0.2ms idle=511.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:24:10.970 [debug] QUERY OK source="sources" db=0.2ms idle=511.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:10.971 [debug] QUERY OK source="media_items" db=0.3ms idle=512.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 14:29:42Z], 33] 14:24:10.972 [debug] QUERY OK source="media_items" db=1.2ms idle=512.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" ["Management and its team have to finish off the OKR cycle.\n\n!Warning: This video contains the slack and iMessage sound.\n\nSponsored my Mistral AI at https://mistral.ai\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "OKR calibration sync.", "1a146c0b-6d27-4fde-a2c1-f3aecb4a5b73", "nuUVYEW3M3A", 375, false, "https://www.youtube.com/watch?v=nuUVYEW3M3A", 15, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e061700_OKR calibration sync..mp4", false, false, false, 33, [], 98, ~U[2026-06-17 14:29:42Z], ~U[2026-10-26 19:24:10Z], ~U[2026-10-26 19:24:10Z], "Management and its team have to finish off the OKR cycle.\n\n!Warning: This video contains the slack and iMessage sound.\n\nSponsored my Mistral AI at https://mistral.ai\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "OKR calibration sync.", "nuUVYEW3M3A", 375, false, "https://www.youtube.com/watch?v=nuUVYEW3M3A", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e061700_OKR calibration sync..mp4", false, 33, ~U[2026-06-17 14:29:42Z]] 14:24:10.973 [debug] QUERY OK source="sources" db=0.2ms idle=72.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:10.973 [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] 14:24:10.974 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3218123] 14:24:10.974 [debug] Current batch of media processed. Will check again in 1000ms 14:24:11.974 [debug] Current batch of media processed. Will check again in 1000ms 14:24:12.860 [info] GET /sources/55/media/3071593 14:24:12.860 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3071593", "source_id" => "55"} Pipelines: [:browser] 14:24:12.860 [debug] QUERY OK source="media_items" db=0.2ms idle=959.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" = ?) [3071593] 14:24:12.861 [debug] QUERY OK source="tasks" db=0.1ms idle=402.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" [3071593] 14:24:12.861 [debug] QUERY OK source="sources" db=0.2ms idle=402.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:12.861 [debug] QUERY OK source="settings" db=0.0ms idle=402.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:12.861 [debug] QUERY OK source="settings" db=0.1ms idle=403.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:12.862 [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 [] 14:24:12.862 [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] 14:24:12.863 [info] Sent 200 in 3ms 14:24:12.975 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Warning: This video contains the MS Teams Call.\nA Dying Company's Lead Engineer receives a call first day off PTO (Paid Time Off or Part Time Off?)\n\nSponsored by Linear. Check it out at https://linear.app\n\nFeat @Mytechceo \n\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nPTO humor\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "duration" => 275, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e061100_PTO Call.mp4", "id" => "5E7kBOH9owI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5E7kBOH9owI", "playlist_index" => 16, "timestamp" => 1781183023, "title" => "PTO Call", "upload_date" => "20260611"} 14:24:12.976 [debug] QUERY OK source="sources" db=0.2ms idle=114.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:24:12.976 [debug] QUERY OK source="sources" db=0.1ms idle=114.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:12.977 [debug] QUERY OK source="media_items" db=0.4ms idle=114.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 13:03:43Z], 33] 14:24:12.978 [debug] QUERY OK source="media_items" db=1.1ms idle=114.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" ["Warning: This video contains the MS Teams Call.\nA Dying Company's Lead Engineer receives a call first day off PTO (Paid Time Off or Part Time Off?)\n\nSponsored by Linear. Check it out at https://linear.app\n\nFeat @Mytechceo \n\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nPTO humor\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "PTO Call", "2313d927-16ca-420b-ac57-9ac7122f14e9", "5E7kBOH9owI", 275, false, "https://www.youtube.com/watch?v=5E7kBOH9owI", 16, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e061100_PTO Call.mp4", false, false, false, 33, [], 98, ~U[2026-06-11 13:03:43Z], ~U[2026-10-26 19:24:12Z], ~U[2026-10-26 19:24:12Z], "Warning: This video contains the MS Teams Call.\nA Dying Company's Lead Engineer receives a call first day off PTO (Paid Time Off or Part Time Off?)\n\nSponsored by Linear. Check it out at https://linear.app\n\nFeat @Mytechceo \n\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nPTO humor\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "PTO Call", "5E7kBOH9owI", 275, false, "https://www.youtube.com/watch?v=5E7kBOH9owI", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e061100_PTO Call.mp4", false, 33, ~U[2026-06-11 13:03:43Z]] 14:24:12.979 [debug] QUERY OK source="sources" db=0.2ms idle=76.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:12.979 [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] 14:24:12.980 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3170590] 14:24:12.980 [debug] Current batch of media processed. Will check again in 1000ms 14:24:13.980 [debug] Current batch of media processed. Will check again in 1000ms 14:24:14.981 [debug] Current batch of media processed. Will check again in 1000ms 14:24:15.982 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dying Company's Upper Management Meeting.\n\nSponsored by Vanta. Compliance for builders. Get started at Vanta.com.\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "duration" => 263, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e060200_Upper Management Meeting..mp4", "id" => "DmU9uovmT2A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DmU9uovmT2A", "playlist_index" => 17, "timestamp" => 1780406471, "title" => "Upper Management Meeting.", "upload_date" => "20260602"} 14:24:15.983 [debug] QUERY OK source="sources" db=0.2ms idle=1524.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:24:15.983 [debug] QUERY OK source="sources" db=0.1ms idle=1524.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:15.984 [debug] QUERY OK source="media_items" db=0.3ms idle=1525.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-02 13:21:11Z], 33] 14:24:15.987 [debug] QUERY OK source="media_items" db=2.6ms idle=1079.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" ["Dying Company's Upper Management Meeting.\n\nSponsored by Vanta. Compliance for builders. Get started at Vanta.com.\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "Upper Management Meeting.", "c38207ae-b2d0-4fd9-9b6f-8d76cc23baf4", "DmU9uovmT2A", 263, false, "https://www.youtube.com/watch?v=DmU9uovmT2A", 17, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e060200_Upper Management Meeting..mp4", false, false, false, 33, [], 98, ~U[2026-06-02 13:21:11Z], ~U[2026-10-26 19:24:15Z], ~U[2026-10-26 19:24:15Z], "Dying Company's Upper Management Meeting.\n\nSponsored by Vanta. Compliance for builders. Get started at Vanta.com.\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "Upper Management Meeting.", "DmU9uovmT2A", 263, false, "https://www.youtube.com/watch?v=DmU9uovmT2A", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e060200_Upper Management Meeting..mp4", false, 33, ~U[2026-06-02 13:21:11Z]] 14:24:15.987 [debug] QUERY OK source="sources" db=0.3ms idle=80.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:15.988 [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] 14:24:15.988 [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 [3099816] 14:24:15.988 [debug] Current batch of media processed. Will check again in 1000ms 14:24:16.989 [debug] Current batch of media processed. Will check again in 1000ms 14:24:17.862 [info] GET /sources/9/media/3762336/edit 14:24:17.862 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3762336", "source_id" => "9"} Pipelines: [:browser] 14:24:17.863 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=955.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" = ?) [3762336] 14:24:17.863 [debug] QUERY OK source="settings" db=0.1ms idle=404.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:17.863 [debug] QUERY OK source="settings" db=0.1ms idle=405.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:17.864 [debug] QUERY OK source="settings" db=0.1ms idle=405.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:17.865 [info] Sent 200 in 2ms 14:24:17.990 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I built Taskrabbit for Witches, researched business partners, got customers, interviewed a YC Partner.\nhttps://curserapp.replit.app/\n\nhttps://supabase.link/yx7IfXj \ncurserapp.com is your one stop solution for booking in spells.\n\nsponsored by Supabase!\nEP2 coming.\nco-producer: Ajay Kishore.\n\nvibe coding\nreplit\nsupabase\nprogramming humor\ntech industry\nbuilding products\nselling apps\nMRR\nuser growth\nbuilding products has never been easier\nAI tools\nAI coding", "duration" => 598, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e042800_I built Taskrabbit for Witches ($100K MRR - Projected).mp4", "id" => "O7joqcfy-eU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=O7joqcfy-eU", "playlist_index" => 18, "timestamp" => 1777384701, "title" => "I built Taskrabbit for Witches ($100K MRR - Projected)", "upload_date" => "20260428"} 14:24:17.991 [debug] QUERY OK source="sources" db=0.2ms idle=127.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:24:17.991 [debug] QUERY OK source="sources" db=0.1ms idle=127.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:17.992 [debug] QUERY OK source="media_items" db=0.4ms idle=127.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-28 13:58:21Z], 33] 14:24:17.994 [debug] QUERY OK source="media_items" db=1.5ms idle=128.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 built Taskrabbit for Witches, researched business partners, got customers, interviewed a YC Partner.\nhttps://curserapp.replit.app/\n\nhttps://supabase.link/yx7IfXj \ncurserapp.com is your one stop solution for booking in spells.\n\nsponsored by Supabase!\nEP2 coming.\nco-producer: Ajay Kishore.\n\nvibe coding\nreplit\nsupabase\nprogramming humor\ntech industry\nbuilding products\nselling apps\nMRR\nuser growth\nbuilding products has never been easier\nAI tools\nAI coding", "I built Taskrabbit for Witches ($100K MRR - Projected)", "7d183b02-b480-491f-afc2-8f04e794bb21", "O7joqcfy-eU", 598, false, "https://www.youtube.com/watch?v=O7joqcfy-eU", 18, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e042800_I built Taskrabbit for Witches ($100K MRR - Projected).mp4", false, false, false, 33, [], 98, ~U[2026-04-28 13:58:21Z], ~U[2026-10-26 19:24:17Z], ~U[2026-10-26 19:24:17Z], "I built Taskrabbit for Witches, researched business partners, got customers, interviewed a YC Partner.\nhttps://curserapp.replit.app/\n\nhttps://supabase.link/yx7IfXj \ncurserapp.com is your one stop solution for booking in spells.\n\nsponsored by Supabase!\nEP2 coming.\nco-producer: Ajay Kishore.\n\nvibe coding\nreplit\nsupabase\nprogramming humor\ntech industry\nbuilding products\nselling apps\nMRR\nuser growth\nbuilding products has never been easier\nAI tools\nAI coding", "I built Taskrabbit for Witches ($100K MRR - Projected)", "O7joqcfy-eU", 598, false, "https://www.youtube.com/watch?v=O7joqcfy-eU", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e042800_I built Taskrabbit for Witches ($100K MRR - Projected).mp4", false, 33, ~U[2026-04-28 13:58:21Z]] 14:24:17.994 [debug] QUERY OK source="sources" db=0.2ms idle=85.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:17.994 [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] 14:24:17.995 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2830222] 14:24:17.995 [debug] Current batch of media processed. Will check again in 1000ms 14:24:18.996 [debug] Current batch of media processed. Will check again in 1000ms 14:24:19.997 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Interview with a paranoid news checker.\n\nInterview with a paranoid news checker with Jackson Jineer aired on The News© 2026.\n\n\nOSINT\nOSINT humor\nPolymarket\niran\nus news\nnews commentary\nprediction markets\nShorting Futures\n\n#programming #humor #newscommentary", "duration" => 173, "filename" => "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e041500_I am monitoring the situation..mp4", "id" => "2IsR06zf8nQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2IsR06zf8nQ", "playlist_index" => 19, "timestamp" => 1776265101, "title" => "I am monitoring the situation.", "upload_date" => "20260415"} 14:24:19.998 [debug] QUERY OK source="sources" db=0.2ms idle=539.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:24:19.998 [debug] QUERY OK source="sources" db=0.1ms idle=539.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:19.999 [debug] QUERY OK source="media_items" db=0.4ms idle=540.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-15 14:58:21Z], 33] 14:24:20.001 [debug] QUERY OK source="media_items" db=1.4ms idle=540.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" ["Interview with a paranoid news checker.\n\nInterview with a paranoid news checker with Jackson Jineer aired on The News© 2026.\n\n\nOSINT\nOSINT humor\nPolymarket\niran\nus news\nnews commentary\nprediction markets\nShorting Futures\n\n#programming #humor #newscommentary", "I am monitoring the situation.", "e2c6e271-9641-4890-85db-fdee0ab4971a", "2IsR06zf8nQ", 173, false, "https://www.youtube.com/watch?v=2IsR06zf8nQ", 19, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e041500_I am monitoring the situation..mp4", false, false, false, 33, [], 98, ~U[2026-04-15 14:58:21Z], ~U[2026-10-26 19:24:19Z], ~U[2026-10-26 19:24:19Z], "Interview with a paranoid news checker.\n\nInterview with a paranoid news checker with Jackson Jineer aired on The News© 2026.\n\n\nOSINT\nOSINT humor\nPolymarket\niran\nus news\nnews commentary\nprediction markets\nShorting Futures\n\n#programming #humor #newscommentary", "I am monitoring the situation.", "2IsR06zf8nQ", 173, false, "https://www.youtube.com/watch?v=2IsR06zf8nQ", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e041500_I am monitoring the situation..mp4", false, 33, ~U[2026-04-15 14:58:21Z]] 14:24:20.001 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [33] 14:24:20.001 [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] 14:24:20.002 [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 [2737208] 14:24:20.002 [debug] Current batch of media processed. Will check again in 1000ms 14:24:21.002 [debug] Current batch of media processed. Will check again in 1000ms 14:24:21.970 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/channel/UCi8C7TNs2ohrc6hnRQ5Sn2w --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/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/ab/69ab4b1e6862f2c15ef8726689bd6911ba36559ad4631d8a0a6b136b13562a65.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/55/66/55668cfce9bc8c750a9c274b82785ddd24699c5336ef4e8029f799b08adaac08.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 14:24:21.971 [debug] Gracefully stopping file follower 14:24:21.971 [debug] QUERY OK source="sources" db=0.1ms idle=512.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [33] 14:24:21.971 [debug] QUERY OK source="sources" db=0.1ms idle=513.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:21.972 [debug] QUERY OK source="media_items" db=0.2ms idle=513.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 19:41:10Z], 33] 14:24:21.973 [debug] QUERY OK source="media_items" db=0.6ms idle=513.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" ["Episode 4 - \"AI Psychosis\"\n\n- ep4: 10x engineer (AI psychosis).\n\nThanks https://edgerun.com for letting us use your field office.\n\nPursuit of AGI\neMudhra CVE\nMac Mini Cluster\nNvidia GPU cluster\nNvidia CUDA\nLinux\nNixOs\ncoding\nProgrammer humor\nProgramming jokes\nProgramming memes\ncracked engineer\nHacker lifestyle\n\n#programming\n#jokes\n#humor", "10x engineer (AI Psychosis)", "8eacb102-90e7-4844-ae82-4f08fbcf5658", "WV6A1Zf3F2Q", 357, false, "https://www.youtube.com/watch?v=WV6A1Zf3F2Q", 1, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e102200_10x engineer (AI Psychosis).mp4", false, false, false, 33, [], 98, ~U[2026-10-22 19:41:10Z], ~U[2026-10-26 19:24:21Z], ~U[2026-10-26 19:24:21Z], "Episode 4 - \"AI Psychosis\"\n\n- ep4: 10x engineer (AI psychosis).\n\nThanks https://edgerun.com for letting us use your field office.\n\nPursuit of AGI\neMudhra CVE\nMac Mini Cluster\nNvidia GPU cluster\nNvidia CUDA\nLinux\nNixOs\ncoding\nProgrammer humor\nProgramming jokes\nProgramming memes\ncracked engineer\nHacker lifestyle\n\n#programming\n#jokes\n#humor", "10x engineer (AI Psychosis)", "WV6A1Zf3F2Q", 357, false, "https://www.youtube.com/watch?v=WV6A1Zf3F2Q", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e102200_10x engineer (AI Psychosis).mp4", false, 33, ~U[2026-10-22 19:41:10Z]] 14:24:21.973 [debug] QUERY OK source="sources" db=0.1ms idle=60.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:21.973 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 18:25:03Z], 33] 14:24:21.974 [debug] QUERY OK source="media_items" db=0.6ms 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" ["Hyperoptimized Engineer\n\nShowcasing the AI work of Jackson Jineer the dream of every CEO.\n\nAI, Tokenmaxxing, Token efficiency, Ralph loops, Agent Swarms, Agentic Engineering, Optimizing AI, Ergonomic Chair.\n\nFeat. @Mytechceo \n\nDirector/DP: Oliver Stemmler\n\nSponsored by: https://turbopuffer.com/\n\n #aicoding #jokes #programming", "Hyperoptimized Engineer 2026", "4e0360d6-ddf3-4f84-b2cd-177abc121b88", "MhEL9cvLxQE", 282, false, "https://www.youtube.com/watch?v=MhEL9cvLxQE", 2, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e101500_Hyperoptimized Engineer 2026.mp4", false, false, false, 33, [], 98, ~U[2026-10-15 18:25:03Z], ~U[2026-10-26 19:24:21Z], ~U[2026-10-26 19:24:21Z], "Hyperoptimized Engineer\n\nShowcasing the AI work of Jackson Jineer the dream of every CEO.\n\nAI, Tokenmaxxing, Token efficiency, Ralph loops, Agent Swarms, Agentic Engineering, Optimizing AI, Ergonomic Chair.\n\nFeat. @Mytechceo \n\nDirector/DP: Oliver Stemmler\n\nSponsored by: https://turbopuffer.com/\n\n #aicoding #jokes #programming", "Hyperoptimized Engineer 2026", "MhEL9cvLxQE", 282, false, "https://www.youtube.com/watch?v=MhEL9cvLxQE", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e101500_Hyperoptimized Engineer 2026.mp4", false, 33, ~U[2026-10-15 18:25:03Z]] 14:24:21.975 [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" = ?) [33] 14:24:21.975 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-07 12:30:16Z], 33] 14:24:21.976 [debug] QUERY OK source="media_items" db=0.6ms 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" ["Teenage Engineering\n\nInterview with a Teenage Engineering Designer with Sven Teshaiser - aired on © The Teenage Engineer 2026.\n\nTeenage Engineering’s CEO says it’ll stop making synths\nTeenage Engineering stops making synthesisers\n\n@teenageengineering \n\nThank you to @Hainbach for letting us use his studio.\n\nTeenage engineering OP-1\nDIY Engineering\nDIY Music instruments\nteenage engineering expensive\nmusic programming\nelectrical engineering humor\nengineering jokes\nmusic instruments humor\ndesigner humor\nsynthesizer humor\n\n#teenageengineering \n#jokes\n#diy", "Interview with a \"Teenage Engineer\"", "97b03e2d-3c89-4f36-9c97-2106ecd0962e", "562YtXAQDtg", 297, false, "https://www.youtube.com/watch?v=562YtXAQDtg", 3, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e100700_Interview with a "Teenage Engineer".mp4", false, false, false, 33, [], 98, ~U[2026-10-07 12:30:16Z], ~U[2026-10-26 19:24:21Z], ~U[2026-10-26 19:24:21Z], "Teenage Engineering\n\nInterview with a Teenage Engineering Designer with Sven Teshaiser - aired on © The Teenage Engineer 2026.\n\nTeenage Engineering’s CEO says it’ll stop making synths\nTeenage Engineering stops making synthesisers\n\n@teenageengineering \n\nThank you to @Hainbach for letting us use his studio.\n\nTeenage engineering OP-1\nDIY Engineering\nDIY Music instruments\nteenage engineering expensive\nmusic programming\nelectrical engineering humor\nengineering jokes\nmusic instruments humor\ndesigner humor\nsynthesizer humor\n\n#teenageengineering \n#jokes\n#diy", "Interview with a \"Teenage Engineer\"", "562YtXAQDtg", 297, false, "https://www.youtube.com/watch?v=562YtXAQDtg", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e100700_Interview with a "Teenage Engineer".mp4", false, 33, ~U[2026-10-07 12:30:16Z]] 14:24:21.976 [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" = ?) [33] 14:24:21.977 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-30 14:18:03Z], 33] 14:24:21.978 [debug] QUERY OK source="media_items" db=0.6ms 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" ["Interview with the AI leaders signing 'constitution' commitment with Dario Amodei, Sundar Pichai, Jensen Huang, Elon Musk- aired on © The AI CEO 2026.\n\nOpenAI Whistleblower Jacob Coxon Warns Of ‘Human Extinction’ .\n\nBased on CNN interview and using Bloomberg Interview footage from the video Making A 'Plan B' for the AI Boom.\n\nAI meeting Trump, White House, chatGPT, Anthropic, AI Dangers.\n\n#ainews #anthropic #techindustry", "AI CEO Interviews be like…", "a515b430-0bc2-4c1b-a495-9d92c07e6ffd", "DlTNN0gvkLM", 412, false, "https://www.youtube.com/watch?v=DlTNN0gvkLM", 4, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e093000_AI CEO Interviews be like….mp4", false, false, false, 33, [], 98, ~U[2026-09-30 14:18:03Z], ~U[2026-10-26 19:24:21Z], ~U[2026-10-26 19:24:21Z], "Interview with the AI leaders signing 'constitution' commitment with Dario Amodei, Sundar Pichai, Jensen Huang, Elon Musk- aired on © The AI CEO 2026.\n\nOpenAI Whistleblower Jacob Coxon Warns Of ‘Human Extinction’ .\n\nBased on CNN interview and using Bloomberg Interview footage from the video Making A 'Plan B' for the AI Boom.\n\nAI meeting Trump, White House, chatGPT, Anthropic, AI Dangers.\n\n#ainews #anthropic #techindustry", "AI CEO Interviews be like…", "DlTNN0gvkLM", 412, false, "https://www.youtube.com/watch?v=DlTNN0gvkLM", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e093000_AI CEO Interviews be like….mp4", false, 33, ~U[2026-09-30 14:18:03Z]] 14:24:21.978 [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" = ?) [33] 14:24:21.978 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-24 15:49:43Z], 33] 14:24:21.992 [debug] QUERY OK source="media_items" db=13.6ms 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" ["Dying Company's Status Sync.\n\nSponsored by Linear. Get started at https://linear.app\n\nDying Company's Status Sync with Senior Agile Coach & Master Josh Doe in 2026 - aired on © The Agile Coach 2026.\n\nProgrammer humor \nprogrammer jokes\nCompany Meeting\nOffice comedy\nCorporate Jargon\nCorporate Life\nProduct Sync Meeting\nAgile Coach\nProject Management humor\nScrumaster\nManagement humor.\nCorporate Humor\n\n #office #humor #corporatelife", "Status Sync", "2a0288ad-18a5-4772-9a83-1a7f708dfcc4", "ZdGoO6A3CR0", 445, false, "https://www.youtube.com/watch?v=ZdGoO6A3CR0", 5, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e092400_Status Sync.mp4", false, false, false, 33, [], 98, ~U[2026-09-24 15:49:43Z], ~U[2026-10-26 19:24:21Z], ~U[2026-10-26 19:24:21Z], "Dying Company's Status Sync.\n\nSponsored by Linear. Get started at https://linear.app\n\nDying Company's Status Sync with Senior Agile Coach & Master Josh Doe in 2026 - aired on © The Agile Coach 2026.\n\nProgrammer humor \nprogrammer jokes\nCompany Meeting\nOffice comedy\nCorporate Jargon\nCorporate Life\nProduct Sync Meeting\nAgile Coach\nProject Management humor\nScrumaster\nManagement humor.\nCorporate Humor\n\n #office #humor #corporatelife", "Status Sync", "ZdGoO6A3CR0", 445, false, "https://www.youtube.com/watch?v=ZdGoO6A3CR0", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e092400_Status Sync.mp4", false, 33, ~U[2026-09-24 15:49:43Z]] 14:24:21.993 [debug] QUERY OK source="sources" db=0.3ms idle=15.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:21.993 [debug] QUERY OK source="media_items" db=0.2ms idle=15.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-16 14:59:40Z], 33] 14:24:21.997 [debug] QUERY OK source="media_items" db=3.6ms idle=15.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" ["Interview with a Big Data engineer in 2026\n\n\nSponsored by https://railway.com - Railway, the all-in-one intelligent cloud provider\n\nInterview with a Big Data Engineer & Architect in 2026 with Azuros Cloudapi - aired on © The Big Data.\n\nScripts inspired by X account \"Devops Borat\"\n\nProgrammer humor\nBig Data engineering\nDevops humor\ndevops essentials\nHive tables\nAirflow Graph\nFlink\nApache Iceberg\nDatabricks\nKubernetes\nK8s\nCloud engineering\nObservability\nDocker\n\n\n\n\n#humor\n#programming \n#devops", "Interview with Big Data engineer in 2026.", "bca59fb9-7310-4679-bea6-da1278ca8d37", "FG8sUgjBGXs", 518, false, "https://www.youtube.com/watch?v=FG8sUgjBGXs", 6, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e091600_Interview with Big Data engineer in 2026..mp4", false, false, false, 33, [], 98, ~U[2026-09-16 14:59:40Z], ~U[2026-10-26 19:24:21Z], ~U[2026-10-26 19:24:21Z], "Interview with a Big Data engineer in 2026\n\n\nSponsored by https://railway.com - Railway, the all-in-one intelligent cloud provider\n\nInterview with a Big Data Engineer & Architect in 2026 with Azuros Cloudapi - aired on © The Big Data.\n\nScripts inspired by X account \"Devops Borat\"\n\nProgrammer humor\nBig Data engineering\nDevops humor\ndevops essentials\nHive tables\nAirflow Graph\nFlink\nApache Iceberg\nDatabricks\nKubernetes\nK8s\nCloud engineering\nObservability\nDocker\n\n\n\n\n#humor\n#programming \n#devops", "Interview with Big Data engineer in 2026.", "FG8sUgjBGXs", 518, false, "https://www.youtube.com/watch?v=FG8sUgjBGXs", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e091600_Interview with Big Data engineer in 2026..mp4", false, 33, ~U[2026-09-16 14:59:40Z]] 14:24:21.998 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [33] 14:24:21.998 [debug] QUERY OK source="media_items" db=0.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-09-09 14:47:59Z], 33] 14:24:21.999 [debug] QUERY OK source="media_items" db=0.8ms 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" ["Datacenter Tour with Kai Lentit.\n\nNOT sponsored.\nLearn more about Kai: https://realsta.cc/kai\n\nIrreverent tech bro Kai Lentit, tours a German data center in the midst of nowhere to source 20MWatts for what turns out to be an e-sports tournament server...or is it?\n\nThanks to Hetzner for letting us do the due diligence.\n\nBus simulator 2026\nGaming humor\nVPS hosting\nSever hosting\nCheap VPS hosting\nGPU cooling\nDatacenter hosting\nCloud hosting\nManaged serve\nRemote hands \nVisiting a datacenter\n\n\n#programming #humor #cloudcomputing", "I Go To The Cloud.", "9c772499-e4e8-4f55-985a-c8b26ef0af57", "i5GTwBTCQJI", 1069, false, "https://www.youtube.com/watch?v=i5GTwBTCQJI", 7, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e090900_I Go To The Cloud..mp4", false, false, false, 33, [], 98, ~U[2026-09-09 14:47:59Z], ~U[2026-10-26 19:24:21Z], ~U[2026-10-26 19:24:21Z], "Datacenter Tour with Kai Lentit.\n\nNOT sponsored.\nLearn more about Kai: https://realsta.cc/kai\n\nIrreverent tech bro Kai Lentit, tours a German data center in the midst of nowhere to source 20MWatts for what turns out to be an e-sports tournament server...or is it?\n\nThanks to Hetzner for letting us do the due diligence.\n\nBus simulator 2026\nGaming humor\nVPS hosting\nSever hosting\nCheap VPS hosting\nGPU cooling\nDatacenter hosting\nCloud hosting\nManaged serve\nRemote hands \nVisiting a datacenter\n\n\n#programming #humor #cloudcomputing", "I Go To The Cloud.", "i5GTwBTCQJI", 1069, false, "https://www.youtube.com/watch?v=i5GTwBTCQJI", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e090900_I Go To The Cloud..mp4", false, 33, ~U[2026-09-09 14:47:59Z]] 14:24:21.999 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [33] 14:24:22.000 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-26 15:22:51Z], 33] 14:24:22.001 [debug] QUERY OK source="media_items" db=0.7ms idle=2.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 official overhead-projector presentation by Jean-Baptiste Rossi-Mueller right before his 3 months summer holiday.\n\nFind his toolstack here on MY platform: https://www.realsta.cc/eufounder\n\nNot supported by the EU.\n\neuropean ai\neu/acc\nnext gen ai\ntechindustry\n\n#officehumor #techindustry #europeanunion", "How Americans see EU Tech", "7e5b7664-7e6c-4989-9989-97d6cb3e95a0", "gGlpBuW6ZFc", 599, false, "https://www.youtube.com/watch?v=gGlpBuW6ZFc", 8, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e082600_How Americans see EU Tech.mp4", false, false, false, 33, [], 98, ~U[2026-08-26 15:22:51Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "A official overhead-projector presentation by Jean-Baptiste Rossi-Mueller right before his 3 months summer holiday.\n\nFind his toolstack here on MY platform: https://www.realsta.cc/eufounder\n\nNot supported by the EU.\n\neuropean ai\neu/acc\nnext gen ai\ntechindustry\n\n#officehumor #techindustry #europeanunion", "How Americans see EU Tech", "gGlpBuW6ZFc", 599, false, "https://www.youtube.com/watch?v=gGlpBuW6ZFc", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e082600_How Americans see EU Tech.mp4", false, 33, ~U[2026-08-26 15:22:51Z]] 14:24:22.001 [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" = ?) [33] 14:24:22.002 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-13 18:15:29Z], 33] 14:24:22.002 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["MTV Cribs - San Francisco [HD]", "65403781-9fb9-469b-814d-d4b5e246e4f3", "x0Cr-UhKhZI", 419, false, "https://www.youtube.com/watch?v=x0Cr-UhKhZI", 9, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e081300_MTV Cribs - San Francisco [HD].mp4", false, false, false, 33, [], 98, ~U[2026-08-13 18:15:29Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "", "MTV Cribs - San Francisco [HD]", "x0Cr-UhKhZI", 419, false, "https://www.youtube.com/watch?v=x0Cr-UhKhZI", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e081300_MTV Cribs - San Francisco [HD].mp4", false, 33, ~U[2026-08-13 18:15:29Z]] 14:24:22.002 [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" = ?) [33] 14:24:22.003 [debug] QUERY OK source="media_items" db=0.2ms idle=1.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 16:35:47Z], 33] 14:24:22.004 [debug] QUERY OK source="media_items" db=0.9ms idle=1.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" ["Corporate Sysadmin. Three CIOs. Zero documented SOPs.\n\nSponsored by: https://turbopuffer.com/\n\nInterview with an Sysadmin with Walter Wallis - aired on © Sysadmin 2026.\n\nFind more characters on https://www.realsta.cc/sysadmin\nIn this interview, a 2010-era Windows sysadmin explains how change management, and the phrase \"currently, our position is no\" have kept him employed through four \"transformations\" and one AI mandate. From the server that hasn't been rebooted since 2013, the 91 members in the temp security group, to the backup strategy that has never survived a restore test.\n\n⏱ CHAPTERS\n00:00 – Intro\n\nIT crowd\nIT admin humor\nOffice Space\nprogramminghumor\nprogramming jokes\ndevops\nsysadmin\nwindows admin\nIT admin\ncitrix\nwindows server\nofficecomedy\nBOFH\n\n#sysadmin #programmingjokes #corporatehumor", "Interview with a Sysadmin in 2026 [Corporate]", "6b352a22-5e2d-4ac3-8a8d-0b8b1d7045c3", "I7IHInNJZvE", 413, false, "https://www.youtube.com/watch?v=I7IHInNJZvE", 10, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e072900_Interview with a Sysadmin in 2026 [Corporate].mp4", false, false, false, 33, [], 98, ~U[2026-07-29 16:35:47Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "Corporate Sysadmin. Three CIOs. Zero documented SOPs.\n\nSponsored by: https://turbopuffer.com/\n\nInterview with an Sysadmin with Walter Wallis - aired on © Sysadmin 2026.\n\nFind more characters on https://www.realsta.cc/sysadmin\nIn this interview, a 2010-era Windows sysadmin explains how change management, and the phrase \"currently, our position is no\" have kept him employed through four \"transformations\" and one AI mandate. From the server that hasn't been rebooted since 2013, the 91 members in the temp security group, to the backup strategy that has never survived a restore test.\n\n⏱ CHAPTERS\n00:00 – Intro\n\nIT crowd\nIT admin humor\nOffice Space\nprogramminghumor\nprogramming jokes\ndevops\nsysadmin\nwindows admin\nIT admin\ncitrix\nwindows server\nofficecomedy\nBOFH\n\n#sysadmin #programmingjokes #corporatehumor", "Interview with a Sysadmin in 2026 [Corporate]", "I7IHInNJZvE", 413, false, "https://www.youtube.com/watch?v=I7IHInNJZvE", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e072900_Interview with a Sysadmin in 2026 [Corporate].mp4", false, 33, ~U[2026-07-29 16:35:47Z]] 14:24:22.004 [debug] QUERY OK source="sources" db=0.2ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:22.005 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-16 16:29:54Z], 33] 14:24:22.005 [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" ["Longevity Maxxing / Biohacking\nHis stack: https://realsta.cc/livoreva\n\nOn mission to live forever Livo Réva shows off his product stack… that does not let him sleep at night.\nInterview with a Longevity Maxxer with Livo Réva - aired on © The Longevity.\n\nBryan Johnson\nDon’t die\nBlueprint\nlongevity\nbiohacking\nbiohacker\noptimization\nhealth optimization\nquantified self\nglucose monitor\nWHOOP\nOura Ring\nice bath\nsauna\nHRV\nsleep optimization\nmicroplastics\nseed oils\nsupplements\nAura ring\n\n#humor #biohacking #bryanjohnson", "Interview with a Longevity Maxxer in 2026", "074940ad-a8fb-4dc0-ab2e-1fe866b2b4ff", "qRV-XzO_u0g", 402, false, "https://www.youtube.com/watch?v=qRV-XzO_u0g", 11, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e071600_Interview with a Longevity Maxxer in 2026.mp4", false, false, false, 33, [], 98, ~U[2026-07-16 16:29:54Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "Longevity Maxxing / Biohacking\nHis stack: https://realsta.cc/livoreva\n\nOn mission to live forever Livo Réva shows off his product stack… that does not let him sleep at night.\nInterview with a Longevity Maxxer with Livo Réva - aired on © The Longevity.\n\nBryan Johnson\nDon’t die\nBlueprint\nlongevity\nbiohacking\nbiohacker\noptimization\nhealth optimization\nquantified self\nglucose monitor\nWHOOP\nOura Ring\nice bath\nsauna\nHRV\nsleep optimization\nmicroplastics\nseed oils\nsupplements\nAura ring\n\n#humor #biohacking #bryanjohnson", "Interview with a Longevity Maxxer in 2026", "qRV-XzO_u0g", 402, false, "https://www.youtube.com/watch?v=qRV-XzO_u0g", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e071600_Interview with a Longevity Maxxer in 2026.mp4", false, 33, ~U[2026-07-16 16:29:54Z]] 14:24:22.006 [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" = ?) [33] 14:24:22.006 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-07 14:40:58Z], 33] 14:24:22.007 [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" ["On-call Engineer\n\nInterview with an On-call engineer in 2026 with Walter Wallis - aired on © The On-Call engineer.\nThank you to Hetzner for letting us film! All filmed under strict German supervision.\n\nWalter Wallis shares the stories of his on-call life and is being interrupted by test calls on his pager. Until one of them is not a test call.\n\nFeaturing @Mytechceo \n\nProgrammer humor\nProgramming jokes\nOncall Dance\nOn-call humor\nDevops \nPager duty\nCloud computing\nData center video\nData center tour\nOn-call life\nOn-prem migration\nSSL cert expired\nOne Dance\nKubernetes\nCloud engineering\nPrometheus\nObservability\n\n#programming #jokes #devops", "*On-Call Engineer*", "26808bae-b7d2-42d8-aa55-211664668645", "sY1UqUuBqQQ", 419, false, "https://www.youtube.com/watch?v=sY1UqUuBqQQ", 12, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e070700_*On-Call Engineer*.mp4", false, false, false, 33, [], 98, ~U[2026-07-07 14:40:58Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "On-call Engineer\n\nInterview with an On-call engineer in 2026 with Walter Wallis - aired on © The On-Call engineer.\nThank you to Hetzner for letting us film! All filmed under strict German supervision.\n\nWalter Wallis shares the stories of his on-call life and is being interrupted by test calls on his pager. Until one of them is not a test call.\n\nFeaturing @Mytechceo \n\nProgrammer humor\nProgramming jokes\nOncall Dance\nOn-call humor\nDevops \nPager duty\nCloud computing\nData center video\nData center tour\nOn-call life\nOn-prem migration\nSSL cert expired\nOne Dance\nKubernetes\nCloud engineering\nPrometheus\nObservability\n\n#programming #jokes #devops", "*On-Call Engineer*", "sY1UqUuBqQQ", 419, false, "https://www.youtube.com/watch?v=sY1UqUuBqQQ", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e070700_*On-Call Engineer*.mp4", false, 33, ~U[2026-07-07 14:40:58Z]] 14:24:22.008 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [33] 14:24:22.008 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-30 15:31:44Z], 33] 14:24:22.009 [debug] QUERY OK source="media_items" db=0.7ms idle=2.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" ["Database Administrator\n\nInterview with a DBA with Walter Wallis - aired on the DBA 2026.\n\nSponsored by Jetbrains: https://www.jetbrains.com/idea/\n\n\ncredits: some jokes from twitter @DEVOPS_BORAT and derivative channels.\n\nProgrammerhumor\nProgramming jokes\nVim\nProd is down\nServerless\nDatabase reliability engineer \nMySQL\nOncall\nServer room\nOracle db\n\n#programming #jokes #database", "Interview with a DBA (Database Administrator)", "f778c6fa-a56b-42df-bbd9-f33521497c73", "5KyfW79Ld4g", 458, false, "https://www.youtube.com/watch?v=5KyfW79Ld4g", 13, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e063000_Interview with a DBA (Database Administrator).mp4", false, false, false, 33, [], 98, ~U[2026-06-30 15:31:44Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "Database Administrator\n\nInterview with a DBA with Walter Wallis - aired on the DBA 2026.\n\nSponsored by Jetbrains: https://www.jetbrains.com/idea/\n\n\ncredits: some jokes from twitter @DEVOPS_BORAT and derivative channels.\n\nProgrammerhumor\nProgramming jokes\nVim\nProd is down\nServerless\nDatabase reliability engineer \nMySQL\nOncall\nServer room\nOracle db\n\n#programming #jokes #database", "Interview with a DBA (Database Administrator)", "5KyfW79Ld4g", 458, false, "https://www.youtube.com/watch?v=5KyfW79Ld4g", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e063000_Interview with a DBA (Database Administrator).mp4", false, 33, ~U[2026-06-30 15:31:44Z]] 14:24:22.009 [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" = ?) [33] 14:24:22.010 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-25 13:30:19Z], 33] 14:24:22.012 [debug] QUERY OK source="media_items" db=1.9ms 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" ["Generative AI - Victor Riparbelli\n\nInterview with Synthesia Cofounder and CEO Victor Riparbelli about AI Video Generation, useless AI Regulation in Europe and less Ethics aired on © Who Is Technology 2026\n\nGuest appearance of an AI version of Mark Cuban.\n\nAI Video Generation\nGenAI\nFuture of AI Filmmaking\nAI regulation \nAI video tools\nProgrammer humor\nMark Cuban \nProgramming memes\nState of Gen AI 2026\n\n\n#aivideo \n#humor \n#nextgenai", "Interview with a GenAI CEO (Synthesia CEO - $4B)", "d48a3e6c-451a-4ae4-ac79-feb893946edf", "PwlMKcBtQw8", 598, false, "https://www.youtube.com/watch?v=PwlMKcBtQw8", 14, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e062500_Interview with a GenAI CEO (Synthesia CEO - $4B).mp4", false, false, false, 33, [], 98, ~U[2026-06-25 13:30:19Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "Generative AI - Victor Riparbelli\n\nInterview with Synthesia Cofounder and CEO Victor Riparbelli about AI Video Generation, useless AI Regulation in Europe and less Ethics aired on © Who Is Technology 2026\n\nGuest appearance of an AI version of Mark Cuban.\n\nAI Video Generation\nGenAI\nFuture of AI Filmmaking\nAI regulation \nAI video tools\nProgrammer humor\nMark Cuban \nProgramming memes\nState of Gen AI 2026\n\n\n#aivideo \n#humor \n#nextgenai", "Interview with a GenAI CEO (Synthesia CEO - $4B)", "PwlMKcBtQw8", 598, false, "https://www.youtube.com/watch?v=PwlMKcBtQw8", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e062500_Interview with a GenAI CEO (Synthesia CEO - $4B).mp4", false, 33, ~U[2026-06-25 13:30:19Z]] 14:24:22.012 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:22.012 [debug] QUERY OK source="media_items" db=0.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-17 14:29:42Z], 33] 14:24:22.013 [debug] QUERY OK source="media_items" db=0.6ms idle=3.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" ["Management and its team have to finish off the OKR cycle.\n\n!Warning: This video contains the slack and iMessage sound.\n\nSponsored my Mistral AI at https://mistral.ai\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "OKR calibration sync.", "bc148092-cbec-4e63-b381-888f012e794f", "nuUVYEW3M3A", 375, false, "https://www.youtube.com/watch?v=nuUVYEW3M3A", 15, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e061700_OKR calibration sync..mp4", false, false, false, 33, [], 98, ~U[2026-06-17 14:29:42Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "Management and its team have to finish off the OKR cycle.\n\n!Warning: This video contains the slack and iMessage sound.\n\nSponsored my Mistral AI at https://mistral.ai\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "OKR calibration sync.", "nuUVYEW3M3A", 375, false, "https://www.youtube.com/watch?v=nuUVYEW3M3A", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e061700_OKR calibration sync..mp4", false, 33, ~U[2026-06-17 14:29:42Z]] 14:24:22.014 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:22.014 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-11 13:03:43Z], 33] 14:24:22.015 [debug] QUERY OK source="media_items" db=0.6ms 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" ["Warning: This video contains the MS Teams Call.\nA Dying Company's Lead Engineer receives a call first day off PTO (Paid Time Off or Part Time Off?)\n\nSponsored by Linear. Check it out at https://linear.app\n\nFeat @Mytechceo \n\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nPTO humor\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "PTO Call", "9aec1f5d-8174-4659-9085-bb4a45587fb2", "5E7kBOH9owI", 275, false, "https://www.youtube.com/watch?v=5E7kBOH9owI", 16, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e061100_PTO Call.mp4", false, false, false, 33, [], 98, ~U[2026-06-11 13:03:43Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "Warning: This video contains the MS Teams Call.\nA Dying Company's Lead Engineer receives a call first day off PTO (Paid Time Off or Part Time Off?)\n\nSponsored by Linear. Check it out at https://linear.app\n\nFeat @Mytechceo \n\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nPTO humor\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "PTO Call", "5E7kBOH9owI", 275, false, "https://www.youtube.com/watch?v=5E7kBOH9owI", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e061100_PTO Call.mp4", false, 33, ~U[2026-06-11 13:03:43Z]] 14:24:22.015 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:22.015 [debug] QUERY OK source="media_items" db=0.2ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-02 13:21:11Z], 33] 14:24:22.016 [debug] QUERY OK source="media_items" db=0.6ms 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" ["Dying Company's Upper Management Meeting.\n\nSponsored by Vanta. Compliance for builders. Get started at Vanta.com.\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "Upper Management Meeting.", "869a7555-b179-4655-99f8-915655a20598", "DmU9uovmT2A", 263, false, "https://www.youtube.com/watch?v=DmU9uovmT2A", 17, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e060200_Upper Management Meeting..mp4", false, false, false, 33, [], 98, ~U[2026-06-02 13:21:11Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "Dying Company's Upper Management Meeting.\n\nSponsored by Vanta. Compliance for builders. Get started at Vanta.com.\n\nProgrammer humor \nprogrammer jokes\nProduct Management humor.\nAI Transformation\nNext-gen AI.\nManagement humor.\nIndustry Tenure\nCorporate Humor\n\n #office #humor #corporatehumor", "Upper Management Meeting.", "DmU9uovmT2A", 263, false, "https://www.youtube.com/watch?v=DmU9uovmT2A", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e060200_Upper Management Meeting..mp4", false, 33, ~U[2026-06-02 13:21:11Z]] 14:24:22.017 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:22.017 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-28 13:58:21Z], 33] 14:24:22.018 [debug] QUERY OK source="media_items" db=0.6ms 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 built Taskrabbit for Witches, researched business partners, got customers, interviewed a YC Partner.\nhttps://curserapp.replit.app/\n\nhttps://supabase.link/yx7IfXj \ncurserapp.com is your one stop solution for booking in spells.\n\nsponsored by Supabase!\nEP2 coming.\nco-producer: Ajay Kishore.\n\nvibe coding\nreplit\nsupabase\nprogramming humor\ntech industry\nbuilding products\nselling apps\nMRR\nuser growth\nbuilding products has never been easier\nAI tools\nAI coding", "I built Taskrabbit for Witches ($100K MRR - Projected)", "d0c3487b-f80e-4e7d-8051-f562924d602d", "O7joqcfy-eU", 598, false, "https://www.youtube.com/watch?v=O7joqcfy-eU", 18, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e042800_I built Taskrabbit for Witches ($100K MRR - Projected).mp4", false, false, false, 33, [], 98, ~U[2026-04-28 13:58:21Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "I built Taskrabbit for Witches, researched business partners, got customers, interviewed a YC Partner.\nhttps://curserapp.replit.app/\n\nhttps://supabase.link/yx7IfXj \ncurserapp.com is your one stop solution for booking in spells.\n\nsponsored by Supabase!\nEP2 coming.\nco-producer: Ajay Kishore.\n\nvibe coding\nreplit\nsupabase\nprogramming humor\ntech industry\nbuilding products\nselling apps\nMRR\nuser growth\nbuilding products has never been easier\nAI tools\nAI coding", "I built Taskrabbit for Witches ($100K MRR - Projected)", "O7joqcfy-eU", 598, false, "https://www.youtube.com/watch?v=O7joqcfy-eU", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e042800_I built Taskrabbit for Witches ($100K MRR - Projected).mp4", false, 33, ~U[2026-04-28 13:58:21Z]] 14:24:22.018 [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" = ?) [33] 14:24:22.018 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-15 14:58:21Z], 33] 14:24:22.019 [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" ["Interview with a paranoid news checker.\n\nInterview with a paranoid news checker with Jackson Jineer aired on The News© 2026.\n\n\nOSINT\nOSINT humor\nPolymarket\niran\nus news\nnews commentary\nprediction markets\nShorting Futures\n\n#programming #humor #newscommentary", "I am monitoring the situation.", "f2d3f347-a6bb-4d68-8914-777f787bf5bd", "2IsR06zf8nQ", 173, false, "https://www.youtube.com/watch?v=2IsR06zf8nQ", 19, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e041500_I am monitoring the situation..mp4", false, false, false, 33, [], 98, ~U[2026-04-15 14:58:21Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "Interview with a paranoid news checker.\n\nInterview with a paranoid news checker with Jackson Jineer aired on The News© 2026.\n\n\nOSINT\nOSINT humor\nPolymarket\niran\nus news\nnews commentary\nprediction markets\nShorting Futures\n\n#programming #humor #newscommentary", "I am monitoring the situation.", "2IsR06zf8nQ", 173, false, "https://www.youtube.com/watch?v=2IsR06zf8nQ", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e041500_I am monitoring the situation..mp4", false, 33, ~U[2026-04-15 14:58:21Z]] 14:24:22.019 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [33] 14:24:22.020 [debug] QUERY OK source="media_items" db=0.2ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-01 14:16:40Z], 33] 14:24:22.022 [debug] QUERY OK source="media_items" db=1.6ms 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" ["AI CEOs.\n\nInterview with a AI CEO vs AI Engineer with Josh Doe and Jackson Jineer - aired on © The AI.\n\n\nProgrammer humor \nprogrammer jokes\nAI humor\nNext gen AI\nCloud Computing\nAI news\nOracle ceo news\nAI Layoffs\nTech industry\nAI progress\nWork humor\nManager talk\nGPT5\nsoftware development\n\n #software #company #corporatehumor", "AI CEO vs Engineer (2026).", "43538c37-b823-4eb8-ac8c-e37928adcfc6", "WAUnmQt2Z7Y", 288, false, "https://www.youtube.com/watch?v=WAUnmQt2Z7Y", 20, "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e040100_AI CEO vs Engineer (2026)..mp4", false, false, false, 33, [], 98, ~U[2026-04-01 14:16:40Z], ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], "AI CEOs.\n\nInterview with a AI CEO vs AI Engineer with Josh Doe and Jackson Jineer - aired on © The AI.\n\n\nProgrammer humor \nprogrammer jokes\nAI humor\nNext gen AI\nCloud Computing\nAI news\nOracle ceo news\nAI Layoffs\nTech industry\nAI progress\nWork humor\nManager talk\nGPT5\nsoftware development\n\n #software #company #corporatehumor", "AI CEO vs Engineer (2026).", "WAUnmQt2Z7Y", 288, false, "https://www.youtube.com/watch?v=WAUnmQt2Z7Y", "/downloads/chris/tubes/Programmers are also human_[UCi8C7TNs2ohrc6hnRQ5Sn2w]/Season 2026/s2026e040100_AI CEO vs Engineer (2026)..mp4", false, 33, ~U[2026-04-01 14:16:40Z]] 14:24:22.022 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z], 33] 14:24:22.023 [debug] QUERY OK source="media_items" db=0.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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [33] 14:24:22.023 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [33] 14:24:22.023 [debug] QUERY OK source="media_items" db=0.1ms idle=3.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [33] 14:24:22.024 [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" [541621, 33, ~U[2026-10-26 19:24:22Z], ~U[2026-10-26 19:24:22Z]] 14:24:22.025 [info] {"args":{"id":33},"id":541307,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":47166349,"event":"job:stop","queue_time":423606,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:24:22.863 [info] GET /sources/52/media/1301394/edit 14:24:22.863 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1301394", "source_id" => "52"} Pipelines: [:browser] 14:24:22.864 [debug] QUERY OK source="media_items" db=0.2ms idle=839.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" = ?) [1301394] 14:24:22.864 [debug] QUERY OK source="settings" db=0.1ms idle=839.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:22.864 [debug] QUERY OK source="settings" db=0.1ms idle=839.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:22.865 [debug] QUERY OK source="settings" db=0.0ms idle=840.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:22.866 [info] Sent 200 in 2ms 14:24:22.921 [info] {"args":{"id":43},"id":541516,"meta":{},"system_time":1793042662921438720,"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"]} 14:24:22.921 [debug] QUERY OK source="sources" db=0.1ms idle=57.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:22.922 [debug] QUERY OK source="settings" db=0.1ms idle=57.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:22.927 [debug] QUERY OK source="media_items" db=5.1ms idle=57.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] 14:24:22.928 [debug] QUERY OK source="media_items" db=0.3ms idle=13.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [43] 14:24:22.928 [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] 14:24:22.928 [debug] QUERY OK source="settings" db=0.0ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:22.929 [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 [] 14:24:22.934 [debug] QUERY OK source="media_items" db=3.8ms 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] 14:24:22.937 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:24:22.937 [debug] Current batch of media processed. Will check again in 1000ms 14:24:22.937 [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 [] 14:24:22.937 [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 [] 14:24:22.937 [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 [] 14:24:22.937 [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/7b/22/7b229a0631a8cb9ba5409fe50f053aede4b876bb2db0852a0320a9c0932f0807.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/47/fc/47fc13ed2009e47be628d1c0f92656d79593aa473618a636dbe6a895fe8fa2f2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:23.937 [debug] Current batch of media processed. Will check again in 1000ms 14:24:24.938 [debug] Current batch of media processed. Will check again in 1000ms 14:24:25.939 [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 Bottles dev talks vibe cloned software, AI and other projects\n06:19 Spotify Client for GNOME\n07:49 SystemD adds Rust support for new modules\n09:31 Flathub shuts down their Forums", "duration" => 689, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support.NA", "id" => "_Vqmu1AbXyQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_Vqmu1AbXyQ", "playlist_index" => 1, "timestamp" => 1793008427, "title" => "Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support", "upload_date" => "20261026"} 14:24:25.940 [debug] QUERY OK source="sources" db=0.2ms idle=1481.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:24:25.940 [debug] QUERY OK source="sources" db=0.1ms idle=1481.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:25.945 [debug] QUERY OK source="media_items" db=4.6ms idle=1482.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 09:53:47Z], 43] 14:24:25.947 [debug] QUERY OK source="media_items" db=1.7ms idle=1027.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 Bottles dev talks vibe cloned software, AI and other projects\n06:19 Spotify Client for GNOME\n07:49 SystemD adds Rust support for new modules\n09:31 Flathub shuts down their Forums", "Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support", "bc078d9b-bf1f-4775-8777-81fb8b3df35b", "_Vqmu1AbXyQ", 689, false, "https://www.youtube.com/watch?v=_Vqmu1AbXyQ", 1, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support.NA", false, false, false, 43, [], 97, ~U[2026-10-26 09:53:47Z], ~U[2026-10-26 19:24:25Z], ~U[2026-10-26 19:24:25Z], "👕 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 Bottles dev talks vibe cloned software, AI and other projects\n06:19 Spotify Client for GNOME\n07:49 SystemD adds Rust support for new modules\n09:31 Flathub shuts down their Forums", "Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support", "_Vqmu1AbXyQ", 689, false, "https://www.youtube.com/watch?v=_Vqmu1AbXyQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support.NA", false, 43, ~U[2026-10-26 09:53:47Z]] 14:24:25.948 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [43] 14:24:25.949 [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] 14:24:25.949 [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 [4244204] 14:24:25.949 [info] Kicking off download for media item #4244204 (_Vqmu1AbXyQ) 14:24:25.951 [debug] Current batch of media processed. Will check again in 1000ms 14:24:26.951 [debug] Current batch of media processed. Will check again in 1000ms 14:24:27.952 [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:42 Update on the channel plans\n10:31 What's happening in France", "duration" => 1659, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now.NA", "id" => "m1PbF6H2Y_M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m1PbF6H2Y_M", "playlist_index" => 2, "timestamp" => 1793006944, "title" => "Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now", "upload_date" => "20261026"} 14:24:27.953 [debug] QUERY OK source="sources" db=0.2ms idle=494.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:24:27.953 [debug] QUERY OK source="sources" db=0.1ms idle=494.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:27.957 [debug] QUERY OK source="media_items" db=3.7ms idle=494.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 09:29:04Z], 43] 14:24:27.958 [debug] QUERY OK source="media_items" db=0.5ms idle=498.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:42 Update on the channel plans\n10:31 What's happening in France", "Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now", "60065fa0-2b6f-4150-9c31-95600e8b681d", "m1PbF6H2Y_M", 1659, false, "https://www.youtube.com/watch?v=m1PbF6H2Y_M", 2, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now.NA", false, false, false, 43, [], 97, ~U[2026-10-26 09:29:04Z], ~U[2026-10-26 19:24:27Z], ~U[2026-10-26 19:24:27Z], "👕 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 Update on the channel plans\n10:31 What's happening in France", "Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now", "m1PbF6H2Y_M", 1659, false, "https://www.youtube.com/watch?v=m1PbF6H2Y_M", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now.NA", false, 43, ~U[2026-10-26 09:29:04Z]] 14:24:27.958 [debug] QUERY OK source="sources" db=0.1ms idle=36.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:24:27.958 [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] 14:24:27.959 [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 [4244205] 14:24:27.959 [info] Kicking off download for media item #4244205 (m1PbF6H2Y_M) 14:24:27.960 [debug] Current batch of media processed. Will check again in 1000ms 14:24:28.960 [debug] Current batch of media processed. Will check again in 1000ms 14:24:29.961 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.com/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\n#linux #linuxnews #technews \n\n\nTimestamps:\n00:00 Intro\n00:50 Sponsor: Internxt\n02:24 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n04:54 Kernel 7.3 released\n06:24 Big influx of Rust code in Kernel 7.4\n07:40 Bitwarden moves to a commercial license, mostly\n10:06 KeePassXC supports auto-type on Wayland now\n11:12 Mint shows more of their new apps\n13:01 LibreOffice is getting record download numbers\n14:49 Proposed AI assistant prototype for Ubuntu\n17:43 OpenBSD gets Wine and runs Windows games\n19:13 Cutefish desktop revived as a vibe coded MacOS Clone\n21:06 Epic Game Stores new preview looks pretty bad\n22:55 Big Tech funds study to warn against digital sovereignty\n25:18 Massive PHP flaw discovered, and patched\n27:47 Sponsor: Tuxedo Computers\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o", "duration" => 1752, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102400_Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News.mp4", "id" => "rR5HmB53C7k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rR5HmB53C7k", "playlist_index" => 3, "timestamp" => 1792830072, "title" => "Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News", "upload_date" => "20261024"} 14:24:29.962 [debug] QUERY OK source="sources" db=0.2ms idle=503.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:24:29.962 [debug] QUERY OK source="sources" db=0.1ms idle=503.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:29.966 [debug] QUERY OK source="media_items" db=3.8ms idle=504.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 08:21:12Z], 43] 14:24:29.968 [debug] QUERY OK source="media_items" db=1.4ms idle=508.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" ["Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.com/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\n#linux #linuxnews #technews \n\n\nTimestamps:\n00:00 Intro\n00:50 Sponsor: Internxt\n02:24 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n04:54 Kernel 7.3 released\n06:24 Big influx of Rust code in Kernel 7.4\n07:40 Bitwarden moves to a commercial license, mostly\n10:06 KeePassXC supports auto-type on Wayland now\n11:12 Mint shows more of their new apps\n13:01 LibreOffice is getting record download numbers\n14:49 Proposed AI assistant prototype for Ubuntu\n17:43 OpenBSD gets Wine and runs Windows games\n19:13 Cutefish desktop revived as a vibe coded MacOS Clone\n21:06 Epic Game Stores new preview looks pretty bad\n22:55 Big Tech funds study to warn against digital sovereignty\n25:18 Massive PHP flaw discovered, and patched\n27:47 Sponsor: Tuxedo Computers\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o", "Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News", "176ee974-cd06-46ad-b71c-3bf5e96bef1b", "rR5HmB53C7k", 1752, false, "https://www.youtube.com/watch?v=rR5HmB53C7k", 3, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102400_Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News.mp4", false, false, false, 43, [], 98, ~U[2026-10-24 08:21:12Z], ~U[2026-10-26 19:24:29Z], ~U[2026-10-26 19:24:29Z], "Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.com/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\n#linux #linuxnews #technews \n\n\nTimestamps:\n00:00 Intro\n00:50 Sponsor: Internxt\n02:24 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n04:54 Kernel 7.3 released\n06:24 Big influx of Rust code in Kernel 7.4\n07:40 Bitwarden moves to a commercial license, mostly\n10:06 KeePassXC supports auto-type on Wayland now\n11:12 Mint shows more of their new apps\n13:01 LibreOffice is getting record download numbers\n14:49 Proposed AI assistant prototype for Ubuntu\n17:43 OpenBSD gets Wine and runs Windows games\n19:13 Cutefish desktop revived as a vibe coded MacOS Clone\n21:06 Epic Game Stores new preview looks pretty bad\n22:55 Big Tech funds study to warn against digital sovereignty\n25:18 Massive PHP flaw discovered, and patched\n27:47 Sponsor: Tuxedo Computers\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o", "Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News", "rR5HmB53C7k", 1752, false, "https://www.youtube.com/watch?v=rR5HmB53C7k", "/downloads/chri (truncated) 14:24:29.969 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:24:29.969 [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] 14:24:29.969 [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 [4228036] 14:24:29.969 [debug] Current batch of media processed. Will check again in 1000ms 14:24:30.598 [info] {"source":"oban","duration":7459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:24:30.970 [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:48 Proposed AI assistant prototype for Ubuntu\n04:31 Massive PHP flaw discovered, and patched\n06:46 Epic Game Stores new preview looks pretty bad\n09:06 Linux kernel CVEs posted publicly (likely by AI)\n11:27 Big Tech funds study to warn against digital sovereignty\n\nLinks\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nLinux kernel CVEs posted publicly (likely by AI)\nhttps://www.phoronix.com/news/LKML-New-Trend-Vulnerabilities\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/", "duration" => 870, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102300_Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant.NA", "id" => "mQDigsnENu8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mQDigsnENu8", "playlist_index" => 4, "timestamp" => 1792749458, "title" => "Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant", "upload_date" => "20261023"} 14:24:30.971 [debug] QUERY OK source="sources" db=0.2ms idle=1001.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 14:24:30.971 [debug] QUERY OK source="sources" db=0.1ms idle=1001.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:24:30.975 [debug] QUERY OK source="media_items" db=3.6ms idle=1001.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-23 09:57:38Z], 43] 14:24:30.977 [debug] QUERY OK source="media_items" db=1.2ms idle=377.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:48 Proposed AI assistant prototype for Ubuntu\n04:31 Massive PHP flaw discovered, and patched\n06:46 Epic Game Stores new preview looks pretty bad\n09:06 Linux kernel CVEs posted publicly (likely by AI)\n11:27 Big Tech funds study to warn against digital sovereignty\n\nLinks\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nLinux kernel CVEs posted publicly (likely by AI)\nhttps://www.phoronix.com/news/LKML-New-Trend-Vulnerabilities\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/", "Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant", "b97ad235-9bc5-4f83-a97c-0e9cff21413f", "mQDigsnENu8", 870, false, "https://www.youtube.com/watch?v=mQDigsnENu8", 4, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102300_Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant.NA", false, false, false, 43, [], 98, ~U[2026-10-23 09:57:38Z], ~U[2026-10-26 19:24:30Z], ~U[2026-10-26 19:24:30Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:48 Proposed AI assistant prototype for Ubuntu\n04:31 Massive PHP flaw discovered, and patched\n06:46 Epic Game Stores new preview looks pretty bad\n09:06 Linux kernel CVEs posted publicly (likely by AI)\n11:27 Big Tech funds study to warn against digital sovereignty\n\nLinks\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nLinux kernel CVEs posted publicly (likely by AI)\nhttps://www.phoronix.com/news/LKML-New-Trend-Vulnerabilities\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/", "Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant", "mQDigsnENu8", 870, false, "https://www.youtube.com/watch?v=mQDigsnENu8", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102300_Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant.NA", false, 43, ~U[2026-10-23 09:57:38Z]] 14:24:30.977 [debug] QUERY OK source="sources" db=0.1ms idle=51.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:30.977 [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] 14:24:30.978 [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 [4220740] 14:24:30.978 [info] Kicking off download for media item #4220740 (mQDigsnENu8) 14:24:30.980 [debug] Current batch of media processed. Will check again in 1000ms 14:24:31.981 [debug] Current batch of media processed. Will check again in 1000ms 14:24:32.982 [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 LibreOffice is getting record download numbers\n03:04 AMD proposes initial Ryzen overclocking driver\n04:34 KeePassXC supports auto-type on Wayland now\n06:18 Snapdragon X2 Linux support is apparently pretty good\n\nLinks\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nAMD proposes initial Ryzen overclocking driver\nhttps://www.phoronix.com/news/AMD-AOD-Overclocking-Linux\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nSnapdragon X2 Linux support is apparently pretty good\nhttps://www.phoronix.com/review/snapdragon-x2-linux/10", "duration" => 541, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102200_Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better.NA", "id" => "gy_lktvgtwk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gy_lktvgtwk", "playlist_index" => 5, "timestamp" => 1792652645, "title" => "Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better", "upload_date" => "20261022"} 14:24:32.983 [debug] QUERY OK source="sources" db=0.2ms idle=524.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:24:32.983 [debug] QUERY OK source="sources" db=0.1ms idle=524.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:32.988 [debug] QUERY OK source="media_items" db=4.7ms idle=525.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 07:04:05Z], 43] 14:24:32.990 [debug] QUERY OK source="media_items" db=1.0ms idle=530.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 LibreOffice is getting record download numbers\n03:04 AMD proposes initial Ryzen overclocking driver\n04:34 KeePassXC supports auto-type on Wayland now\n06:18 Snapdragon X2 Linux support is apparently pretty good\n\nLinks\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nAMD proposes initial Ryzen overclocking driver\nhttps://www.phoronix.com/news/AMD-AOD-Overclocking-Linux\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nSnapdragon X2 Linux support is apparently pretty good\nhttps://www.phoronix.com/review/snapdragon-x2-linux/10", "Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better", "f9d5e708-dc3e-442d-9339-df42ef695c42", "gy_lktvgtwk", 541, false, "https://www.youtube.com/watch?v=gy_lktvgtwk", 5, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102200_Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better.NA", false, false, false, 43, [], 98, ~U[2026-10-22 07:04:05Z], ~U[2026-10-26 19:24:32Z], ~U[2026-10-26 19:24:32Z], "👕 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 LibreOffice is getting record download numbers\n03:04 AMD proposes initial Ryzen overclocking driver\n04:34 KeePassXC supports auto-type on Wayland now\n06:18 Snapdragon X2 Linux support is apparently pretty good\n\nLinks\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nAMD proposes initial Ryzen overclocking driver\nhttps://www.phoronix.com/news/AMD-AOD-Overclocking-Linux\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nSnapdragon X2 Linux support is apparently pretty good\nhttps://www.phoronix.com/review/snapdragon-x2-linux/10", "Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better", "gy_lktvgtwk", 541, false, "https://www.youtube.com/watch?v=gy_lktvgtwk", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102200_Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better.NA", false, 43, ~U[2026-10-22 07:04:05Z]] 14:24:32.991 [debug] QUERY OK source="sources" db=0.7ms idle=62.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:32.991 [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] 14:24:32.991 [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 [4211934] 14:24:32.992 [info] Kicking off download for media item #4211934 (gy_lktvgtwk) 14:24:32.994 [debug] Current batch of media processed. Will check again in 1000ms 14:24:33.995 [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 Big influx of Rust code in Kernel 7.4\n02:20 OpenBSD gets Wine and runs Windows games\n04:37 New filesystem designed for satellites proposed for the kernel\n\nLinks\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nNew filesystem designed for satellites proposed for the kernel\nhttps://linuxiac.com/beamfs-filesystem-proposed-for-inclusion-in-the-linux-kernel/", "duration" => 429, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102100_Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games.NA", "id" => "l1f2cr9J5FY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=l1f2cr9J5FY", "playlist_index" => 6, "timestamp" => 1792572418, "title" => "Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games", "upload_date" => "20261021"} 14:24:33.996 [debug] QUERY OK source="sources" db=0.2ms idle=1004.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:24:33.996 [debug] QUERY OK source="sources" db=0.1ms idle=1005.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:24:34.001 [debug] QUERY OK source="media_items" db=4.4ms idle=1004.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 08:46:58Z], 43] 14:24:34.003 [debug] QUERY OK source="media_items" db=1.6ms idle=1007.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 Big influx of Rust code in Kernel 7.4\n02:20 OpenBSD gets Wine and runs Windows games\n04:37 New filesystem designed for satellites proposed for the kernel\n\nLinks\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nNew filesystem designed for satellites proposed for the kernel\nhttps://linuxiac.com/beamfs-filesystem-proposed-for-inclusion-in-the-linux-kernel/", "Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games", "f9c0ac47-1840-492d-ab29-ad56070fa10e", "l1f2cr9J5FY", 429, false, "https://www.youtube.com/watch?v=l1f2cr9J5FY", 6, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102100_Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games.NA", false, false, false, 43, [], 98, ~U[2026-10-21 08:46:58Z], ~U[2026-10-26 19:24:34Z], ~U[2026-10-26 19:24:34Z], "👕 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 Big influx of Rust code in Kernel 7.4\n02:20 OpenBSD gets Wine and runs Windows games\n04:37 New filesystem designed for satellites proposed for the kernel\n\nLinks\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nNew filesystem designed for satellites proposed for the kernel\nhttps://linuxiac.com/beamfs-filesystem-proposed-for-inclusion-in-the-linux-kernel/", "Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games", "l1f2cr9J5FY", 429, false, "https://www.youtube.com/watch?v=l1f2cr9J5FY", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102100_Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games.NA", false, 43, ~U[2026-10-21 08:46:58Z]] 14:24:34.004 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [43] 14:24:34.004 [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] 14:24:34.005 [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 [4204488] 14:24:34.005 [info] Kicking off download for media item #4204488 (l1f2cr9J5FY) 14:24:34.007 [debug] Current batch of media processed. Will check again in 1000ms 14:24:35.007 [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 Torvald's AI generated code is rreworked for better performance\n02:39 Cutefish desktop revived as a vibe coded MacOS Clone\n07:33 Bitwarden moves to a commercial license, mostly\n\nLinks\nTorvald's AI generated code is rreworked for better performance\nhttps://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750", "duration" => 695, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102000_Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence.NA", "id" => "qBNYnMDXcFI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qBNYnMDXcFI", "playlist_index" => 7, "timestamp" => 1792482237, "title" => "Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence", "upload_date" => "20261020"} 14:24:35.008 [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] 14:24:35.008 [debug] QUERY OK source="sources" db=0.1ms idle=1004.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:35.013 [debug] QUERY OK source="media_items" db=4.5ms idle=1003.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-20 07:43:57Z], 43] 14:24:35.015 [debug] QUERY OK source="media_items" db=1.1ms 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 Torvald's AI generated code is rreworked for better performance\n02:39 Cutefish desktop revived as a vibe coded MacOS Clone\n07:33 Bitwarden moves to a commercial license, mostly\n\nLinks\nTorvald's AI generated code is rreworked for better performance\nhttps://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750", "Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence", "46766f8a-3b87-4d76-a0cd-daa67776347b", "qBNYnMDXcFI", 695, false, "https://www.youtube.com/watch?v=qBNYnMDXcFI", 7, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102000_Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence.NA", false, false, false, 43, [], 98, ~U[2026-10-20 07:43:57Z], ~U[2026-10-26 19:24:35Z], ~U[2026-10-26 19:24:35Z], "👕 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 Torvald's AI generated code is rreworked for better performance\n02:39 Cutefish desktop revived as a vibe coded MacOS Clone\n07:33 Bitwarden moves to a commercial license, mostly\n\nLinks\nTorvald's AI generated code is rreworked for better performance\nhttps://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750", "Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence", "qBNYnMDXcFI", 695, false, "https://www.youtube.com/watch?v=qBNYnMDXcFI", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102000_Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence.NA", false, 43, ~U[2026-10-20 07:43:57Z]] 14:24:35.015 [debug] QUERY OK source="sources" db=0.2ms idle=85.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:35.016 [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] 14:24:35.016 [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 [4196300] 14:24:35.016 [info] Kicking off download for media item #4196300 (qBNYnMDXcFI) 14:24:35.020 [debug] Current batch of media processed. Will check again in 1000ms 14:24:36.020 [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 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n03:37 Kernel 7.3 released\n05:27 GNOME OS has a preview\n08:21 Mint shows more of their new apps\n10:36 Meta's TOS say all business content is fair use for AI training\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nGNOME OS has a preview\nhttps://blogs.gnome.org/adrianvovk/2026/10/16/gnome-os-preview/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nMeta's TOS say all business content is fair use for AI training\nhttps://arstechnica.com/tech-policy/2026/10/meta-may-use-sweeping-new-commercial-tos-to-avoid-millions-in-ai-licensing-fees/", "duration" => 813, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3.NA", "id" => "QSqdUxnMopg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QSqdUxnMopg", "playlist_index" => 8, "timestamp" => 1792400839, "title" => "Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3", "upload_date" => "20261019"} 14:24:36.021 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [43] 14:24:36.021 [debug] QUERY OK source="sources" db=0.2ms idle=1005.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:36.026 [debug] QUERY OK source="media_items" db=4.7ms idle=1005.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 09:07:19Z], 43] 14:24:36.028 [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" ["👕 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 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n03:37 Kernel 7.3 released\n05:27 GNOME OS has a preview\n08:21 Mint shows more of their new apps\n10:36 Meta's TOS say all business content is fair use for AI training\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nGNOME OS has a preview\nhttps://blogs.gnome.org/adrianvovk/2026/10/16/gnome-os-preview/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nMeta's TOS say all business content is fair use for AI training\nhttps://arstechnica.com/tech-policy/2026/10/meta-may-use-sweeping-new-commercial-tos-to-avoid-millions-in-ai-licensing-fees/", "Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3", "f0013d50-f28b-4ff9-b359-a0a97245ce2d", "QSqdUxnMopg", 813, false, "https://www.youtube.com/watch?v=QSqdUxnMopg", 8, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3.NA", false, false, false, 43, [], 97, ~U[2026-10-19 09:07:19Z], ~U[2026-10-26 19:24:36Z], ~U[2026-10-26 19:24:36Z], "👕 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 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n03:37 Kernel 7.3 released\n05:27 GNOME OS has a preview\n08:21 Mint shows more of their new apps\n10:36 Meta's TOS say all business content is fair use for AI training\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nGNOME OS has a preview\nhttps://blogs.gnome.org/adrianvovk/2026/10/16/gnome-os-preview/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nMeta's TOS say all business content is fair use for AI training\nhttps://arstechnica.com/tech-policy/2026/10/meta-may-use-sweeping-new-commercial-tos-to-avoid-millions-in-ai-licensing-fees/", "Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3", "QSqdUxnMopg", 813, false, "https://www.youtube.com/watch?v=QSqdUxnMopg", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3.NA", false, 43, ~U[2026-10-19 09:07:19Z]] 14:24:36.029 [debug] QUERY OK source="sources" db=0.3ms idle=98.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:36.029 [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] 14:24:36.030 [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 [4188895] 14:24:36.030 [info] Kicking off download for media item #4188895 (QSqdUxnMopg) 14:24:36.033 [debug] Current batch of media processed. Will check again in 1000ms 14:24:37.034 [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:44 My 20 years with KDE\n14:45 Will A.I. make Linux fragmentation worse?", "duration" => 1586, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?.NA", "id" => "SWg3_hfAEUg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SWg3_hfAEUg", "playlist_index" => 9, "timestamp" => 1792393645, "title" => "Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?", "upload_date" => "20261019"} 14:24:37.035 [debug] QUERY OK source="sources" db=0.3ms idle=1005.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:24:37.036 [debug] QUERY OK source="sources" db=0.2ms idle=1006.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:37.040 [debug] QUERY OK source="media_items" db=4.5ms idle=1006.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 07:07:25Z], 43] 14:24:37.042 [debug] QUERY OK source="media_items" db=1.0ms idle=1007.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:44 My 20 years with KDE\n14:45 Will A.I. make Linux fragmentation worse?", "Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?", "7488ebed-8b68-4b7d-91bb-8c4a1044539c", "SWg3_hfAEUg", 1586, false, "https://www.youtube.com/watch?v=SWg3_hfAEUg", 9, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?.NA", false, false, false, 43, [], 97, ~U[2026-10-19 07:07:25Z], ~U[2026-10-26 19:24:37Z], ~U[2026-10-26 19:24: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:44 My 20 years with KDE\n14:45 Will A.I. make Linux fragmentation worse?", "Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?", "SWg3_hfAEUg", 1586, false, "https://www.youtube.com/watch?v=SWg3_hfAEUg", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?.NA", false, 43, ~U[2026-10-19 07:07:25Z]] 14:24:37.042 [debug] QUERY OK source="sources" db=0.4ms idle=111.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:24:37.043 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:24:37.043 [debug] QUERY OK source="media_items" db=0.3ms 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 [4188376] 14:24:37.043 [info] Kicking off download for media item #4188376 (SWg3_hfAEUg) 14:24:37.047 [debug] Current batch of media processed. Will check again in 1000ms 14:24:38.047 [debug] Current batch of media processed. Will check again in 1000ms 14:24:39.048 [debug] Current batch of media processed. Will check again in 1000ms 14:24:40.049 [debug] Current batch of media processed. Will check again in 1000ms 14:24:41.050 [debug] Current batch of media processed. Will check again in 1000ms 14:24:42.051 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get a Hostinger VPS for self-hosting, home lab projects, automations, running Docker containers, and hosting your own services! Use code LINUXEXPERIMENT for a special deal: https://hostinger.com/linuxexperiment\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:49 Sponsor: Hostinger\n02:02 GNOME OS released in Preview\n06:03 Epic Games Store has a Linux client, EAC will support Linux too\n10:01 Torvalds builds branch for kernel using AI\n13:42 Kernel devs ponder removing mandatory AI use disclosure\n15:32 KDE Plasma 6.8 is released\n17:13 Ubuntu 26.10 released\n19:16 Mint 27 looks like a big release\n21:27 Steam Client is finally moving to 64bit\n22:27 Netherlands backs away from MS365 rollout\n24:16 Dev behind vibe coded Adobe suite bashes FOSS projects\n25:57 Framework triples their funding for CachyOS\n27:11 Firefox releases a commercial Enterprise version\n28:57 New EuroOffice fork that looks like MS Office\n30:54 Valve releases CAD files for Steam Frame\n32:32 Sponsor: Tuxedo Computers\n\nLinks:\n\nGNOME OS released in Preview\nhttps://os.gnome.org/\n\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/\n\n#linux #linuxnews #technews", "duration" => 2040, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101700_GNOME OS Preview, Epic supports Linux, Linux kernel set to go all in on AI - Linux Weekly News.mp4", "id" => "jsfxngunmbs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jsfxngunmbs", "playlist_index" => 10, "timestamp" => 1792225538, "title" => "GNOME OS Preview, Epic supports Linux, Linux kernel set to go all in on AI - Linux Weekly News", "upload_date" => "20261017"} 14:24:42.052 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [43] 14:24:42.052 [debug] QUERY OK source="sources" db=0.1ms idle=1594.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:42.057 [debug] QUERY OK source="media_items" db=4.3ms idle=1594.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-17 08:25:38Z], 43] 14:24:42.062 [debug] QUERY OK source="media_items" db=4.0ms idle=1122.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 a Hostinger VPS for self-hosting, home lab projects, automations, running Docker containers, and hosting your own services! Use code LINUXEXPERIMENT for a special deal: https://hostinger.com/linuxexperiment\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:49 Sponsor: Hostinger\n02:02 GNOME OS released in Preview\n06:03 Epic Games Store has a Linux client, EAC will support Linux too\n10:01 Torvalds builds branch for kernel using AI\n13:42 Kernel devs ponder removing mandatory AI use disclosure\n15:32 KDE Plasma 6.8 is released\n17:13 Ubuntu 26.10 released\n19:16 Mint 27 looks like a big release\n21:27 Steam Client is finally moving to 64bit\n22:27 Netherlands backs away from MS365 rollout\n24:16 Dev behind vibe coded Adobe suite bashes FOSS projects\n25:57 Framework triples their funding for CachyOS\n27:11 Firefox releases a commercial Enterprise version\n28:57 New EuroOffice fork that looks like MS Office\n30:54 Valve releases CAD files for Steam Frame\n32:32 Sponsor: Tuxedo Computers\n\nLinks:\n\nGNOME OS released in Preview\nhttps://os.gnome.org/\n\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/\n\n#linux #linuxnews #technews", "GNOME OS Preview, Epic supports Linux, Linux kernel set to go all in on AI - Linux Weekly News", "076eb105-da3e-4405-8fc1-464558540821", "jsfxngunmbs", 2040, false, "https://www.youtube.com/watch?v=jsfxngunmbs", 10, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101700_GNOME OS Preview, Epic supports Linux, Linux kernel set to go all in on AI - Linux Weekly News.mp4", false, false, false, 43, [], 98, ~U[2026-10-17 08:25:38Z], ~U[2026-10-26 19:24:42Z], ~U[2026-10-26 19:24:42Z], "Get a Hostinger VPS for self-hosting, home lab projects, automations, running Docker containers, and hosting your own services! Use code LINUXEXPERIMENT for a special deal: https://hostinger.com/linuxexperiment\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:49 Sponsor: Hostinger\n02:02 GNOME OS released in Preview\n06:03 Epic Games Store has a Linux client, EAC will support Linux too\n10:01 Torvalds builds branch for kernel using AI\n13:42 Kernel devs ponder removing mandatory AI use disclosure\n15:32 KDE Plasma 6.8 is released\n17:13 Ubuntu 26.10 released\n19:16 Mint 27 looks like a big release\n21:27 Steam Client is finally moving to 64bit\n22:27 Netherlands backs away from MS365 rollout\n24:16 Dev behind vibe coded Adobe suite bashes FOSS projects\n25:57 Framework triples their funding for CachyOS\n27:11 Firefox releases a commercial Enterprise version\n28:57 New EuroOffice fork that looks like MS Office\n30:54 Valve releases CAD files for Steam Frame\n32:32 Sponsor: Tuxedo Computers\n\nLinks:\n\nGNOME OS released in Preview\nhttps://os.gnome.org/\n\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clone (truncated) 14:24:42.062 [debug] QUERY OK source="sources" db=0.3ms idle=126.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:42.063 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:42.063 [debug] QUERY OK source="media_items" db=0.2ms idle=10.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4172904] 14:24:42.063 [debug] Current batch of media processed. Will check again in 1000ms 14:24:43.064 [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 Ubuntu 26.10 released\n03:10 AUR still getting more malware\n04:53 Easy Anti Cheat v2 is apparently easy to bypass\n07:04 Steam Client is finally moving to 64bit\n\nLinks\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nAUR still getting more malware\nhttps://www.bleepingcomputer.com/news/security/fake-arch-linux-packages-push-malware-with-root-privileges/\n\nEasy Anti Cheat v2 is apparently easy to bypass\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403", "duration" => 523, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101600_Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues.NA", "id" => "n4Pi_dhVyiE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=n4Pi_dhVyiE", "playlist_index" => 11, "timestamp" => 1792134234, "title" => "Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues", "upload_date" => "20261016"} 14:24:43.065 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [43] 14:24:43.065 [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] 14:24:43.070 [debug] QUERY OK source="media_items" db=4.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-10-16 07:03:54Z], 43] 14:24:43.075 [debug] QUERY OK source="media_items" db=4.7ms 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" ["👕 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 Ubuntu 26.10 released\n03:10 AUR still getting more malware\n04:53 Easy Anti Cheat v2 is apparently easy to bypass\n07:04 Steam Client is finally moving to 64bit\n\nLinks\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nAUR still getting more malware\nhttps://www.bleepingcomputer.com/news/security/fake-arch-linux-packages-push-malware-with-root-privileges/\n\nEasy Anti Cheat v2 is apparently easy to bypass\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403", "Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues", "80270883-e2d6-4f11-b44f-7bb3d68dd76a", "n4Pi_dhVyiE", 523, false, "https://www.youtube.com/watch?v=n4Pi_dhVyiE", 11, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101600_Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues.NA", false, false, false, 43, [], 98, ~U[2026-10-16 07:03:54Z], ~U[2026-10-26 19:24:43Z], ~U[2026-10-26 19:24:43Z], "👕 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 Ubuntu 26.10 released\n03:10 AUR still getting more malware\n04:53 Easy Anti Cheat v2 is apparently easy to bypass\n07:04 Steam Client is finally moving to 64bit\n\nLinks\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nAUR still getting more malware\nhttps://www.bleepingcomputer.com/news/security/fake-arch-linux-packages-push-malware-with-root-privileges/\n\nEasy Anti Cheat v2 is apparently easy to bypass\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403", "Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues", "n4Pi_dhVyiE", 523, false, "https://www.youtube.com/watch?v=n4Pi_dhVyiE", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101600_Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues.NA", false, 43, ~U[2026-10-16 07:03:54Z]] 14:24:43.076 [debug] QUERY OK source="sources" db=0.2ms idle=137.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:24:43.076 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:43.077 [debug] QUERY OK source="media_items" db=0.1ms idle=11.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4164479] 14:24:43.077 [info] Kicking off download for media item #4164479 (n4Pi_dhVyiE) 14:24:43.079 [debug] Current batch of media processed. Will check again in 1000ms 14:24:44.079 [debug] Current batch of media processed. Will check again in 1000ms 14:24:45.080 [debug] Current batch of media processed. Will check again in 1000ms 14:24:46.081 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Grab 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\n01:10 Internals and hardware support\n02:40 Desktop changes\n07:42 Ai speech to text\n09:52 App center changes\n11:38 Installer changes\n13:15 Rustification\n14:32 Gnome 51 changes\n20:32 Conclusion\n21:53 Sponsor: Tuxedo Computers\n\n#ubuntu #linux #linuxdesktop", "duration" => 1421, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Ubuntu 26.10 copies Windows tiling and rustifies itself.mp4", "id" => "4O_OU0OZn3Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4O_OU0OZn3Q", "playlist_index" => 12, "timestamp" => 1792064323, "title" => "Ubuntu 26.10 copies Windows tiling and rustifies itself", "upload_date" => "20261015"} 14:24:46.082 [debug] QUERY OK source="sources" db=0.2ms idle=1623.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:24:46.082 [debug] QUERY OK source="sources" db=0.1ms idle=1623.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:46.087 [debug] QUERY OK source="media_items" db=4.5ms idle=1624.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 11:38:43Z], 43] 14:24:46.089 [debug] QUERY OK source="media_items" db=1.2ms idle=1147.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" ["Grab 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\n01:10 Internals and hardware support\n02:40 Desktop changes\n07:42 Ai speech to text\n09:52 App center changes\n11:38 Installer changes\n13:15 Rustification\n14:32 Gnome 51 changes\n20:32 Conclusion\n21:53 Sponsor: Tuxedo Computers\n\n#ubuntu #linux #linuxdesktop", "Ubuntu 26.10 copies Windows tiling and rustifies itself", "8b08ad4e-2612-4a7d-85ef-b9156427f0ce", "4O_OU0OZn3Q", 1421, false, "https://www.youtube.com/watch?v=4O_OU0OZn3Q", 12, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Ubuntu 26.10 copies Windows tiling and rustifies itself.mp4", false, false, false, 43, [], 97, ~U[2026-10-15 11:38:43Z], ~U[2026-10-26 19:24:46Z], ~U[2026-10-26 19:24:46Z], "Grab 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\n01:10 Internals and hardware support\n02:40 Desktop changes\n07:42 Ai speech to text\n09:52 App center changes\n11:38 Installer changes\n13:15 Rustification\n14:32 Gnome 51 changes\n20:32 Conclusion\n21:53 Sponsor: Tuxedo Computers\n\n#ubuntu #linux #linuxdesktop", "Ubuntu 26.10 copies Windows tiling and rustifies itself", "4O_OU0OZn3Q", 1421, false, "https://www.youtube.com/watch?v=4O_OU0OZn3Q", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Ubuntu 26.10 copies Windows tiling and rustifies itself.mp4", false, 43, ~U[2026-10-15 11:38:43Z]] 14:24:46.089 [debug] QUERY OK source="sources" db=0.3ms idle=148.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:46.090 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:24:46.090 [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 [4157846] 14:24:46.090 [debug] Current batch of media processed. Will check again in 1000ms 14:24:47.091 [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 Epic Games Store has a Linux client, EAC will support Linux too\n04:32 KDE Plasma 6.8 is released\n06:22 New EuroOffice fork that looks like MS Office\n08:40 Framework triples their funding for CachyOS\n09:42 Netherlands backs away from MS365 rollout\n\nLinks\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/", "duration" => 722, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone.NA", "id" => "zHudaeEcGu4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zHudaeEcGu4", "playlist_index" => 13, "timestamp" => 1792057711, "title" => "Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone", "upload_date" => "20261015"} 14:24:47.092 [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] 14:24:47.092 [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] 14:24:47.097 [debug] QUERY OK source="media_items" db=4.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-10-15 09:48:31Z], 43] 14:24:47.099 [debug] QUERY OK source="media_items" db=1.2ms 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" ["👕 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 Epic Games Store has a Linux client, EAC will support Linux too\n04:32 KDE Plasma 6.8 is released\n06:22 New EuroOffice fork that looks like MS Office\n08:40 Framework triples their funding for CachyOS\n09:42 Netherlands backs away from MS365 rollout\n\nLinks\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/", "Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone", "7c16d7b2-4302-427e-8e64-89baf2248061", "zHudaeEcGu4", 722, false, "https://www.youtube.com/watch?v=zHudaeEcGu4", 13, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone.NA", false, false, false, 43, [], 97, ~U[2026-10-15 09:48:31Z], ~U[2026-10-26 19:24:47Z], ~U[2026-10-26 19:24:47Z], "👕 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 Epic Games Store has a Linux client, EAC will support Linux too\n04:32 KDE Plasma 6.8 is released\n06:22 New EuroOffice fork that looks like MS Office\n08:40 Framework triples their funding for CachyOS\n09:42 Netherlands backs away from MS365 rollout\n\nLinks\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/", "Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone", "zHudaeEcGu4", 722, false, "https://www.youtube.com/watch?v=zHudaeEcGu4", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone.NA", false, 43, ~U[2026-10-15 09:48:31Z]] 14:24:47.099 [debug] QUERY OK source="sources" db=0.2ms idle=156.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:47.100 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:24:47.100 [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 [4157367] 14:24:47.100 [info] Kicking off download for media item #4157367 (zHudaeEcGu4) 14:24:47.103 [debug] Current batch of media processed. Will check again in 1000ms 14:24:48.103 [debug] Current batch of media processed. Will check again in 1000ms 14:24:49.104 [debug] Current batch of media processed. Will check again in 1000ms 14:24:50.105 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Grab 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\n01:32 Wayland-only\n02:59 Kde theming\n09:33 Plasma-desktop\n12:42 Window management\n15:09 Performance improvements & wayland\n17:28 Misc. changes to the desktop\n18:27 Settings\n20:58 Application changes\n25:13 Conclusion\n27:55 Sponsor: Tuxedo Computers\n\n#kdeplasma #linux #linuxdesktop", "duration" => 1769, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!.mp4", "id" => "McUdRVblhvE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=McUdRVblhvE", "playlist_index" => 14, "timestamp" => 1791969753, "title" => "KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!", "upload_date" => "20261014"} 14:24:50.106 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1647.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:24:50.107 [debug] QUERY OK source="sources" db=0.1ms idle=1648.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:50.112 [debug] QUERY OK source="media_items" db=4.9ms idle=1648.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 09:22:33Z], 43] 14:24:50.113 [debug] QUERY OK source="media_items" db=1.0ms idle=1167.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" ["Grab 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\n01:32 Wayland-only\n02:59 Kde theming\n09:33 Plasma-desktop\n12:42 Window management\n15:09 Performance improvements & wayland\n17:28 Misc. changes to the desktop\n18:27 Settings\n20:58 Application changes\n25:13 Conclusion\n27:55 Sponsor: Tuxedo Computers\n\n#kdeplasma #linux #linuxdesktop", "KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!", "de92d9d7-7bd0-4ce1-8ac2-5df3e507de2b", "McUdRVblhvE", 1769, false, "https://www.youtube.com/watch?v=McUdRVblhvE", 14, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!.mp4", false, false, false, 43, [], 97, ~U[2026-10-14 09:22:33Z], ~U[2026-10-26 19:24:50Z], ~U[2026-10-26 19:24:50Z], "Grab 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\n01:32 Wayland-only\n02:59 Kde theming\n09:33 Plasma-desktop\n12:42 Window management\n15:09 Performance improvements & wayland\n17:28 Misc. changes to the desktop\n18:27 Settings\n20:58 Application changes\n25:13 Conclusion\n27:55 Sponsor: Tuxedo Computers\n\n#kdeplasma #linux #linuxdesktop", "KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!", "McUdRVblhvE", 1769, false, "https://www.youtube.com/watch?v=McUdRVblhvE", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!.mp4", false, 43, ~U[2026-10-14 09:22:33Z]] 14:24:50.114 [debug] QUERY OK source="sources" db=0.1ms idle=167.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:50.114 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 14:24:50.115 [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 [4149493] 14:24:50.115 [debug] Current batch of media processed. Will check again in 1000ms 14:24:51.115 [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 Mint 27 looks like a big release\n02:52 Kernel devs ponder removing mandatory AI use disclosure\n04:10 OnlyOffice 10 gives more permissions to AI\n06:36 New distro brings back convergence between phone and PC\n\nLinks:\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nOnlyOffice 10 gives more permissions to AI\nhttps://www.omgubuntu.co.uk/2026/10/onlyoffice-10-expands-ai-tools\n\nNew distro brings back convergence between phone and PC\nhttps://simplyluma.com/", "duration" => 621, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive.NA", "id" => "9l5gMFbbeFQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9l5gMFbbeFQ", "playlist_index" => 15, "timestamp" => 1791964920, "title" => "Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive", "upload_date" => "20261014"} 14:24:51.116 [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 (?)) [43] 14:24:51.116 [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" = ?) [43] 14:24:51.122 [debug] QUERY OK source="media_items" db=4.9ms 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-10-14 08:02:00Z], 43] 14:24:51.123 [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" ["👕 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 Mint 27 looks like a big release\n02:52 Kernel devs ponder removing mandatory AI use disclosure\n04:10 OnlyOffice 10 gives more permissions to AI\n06:36 New distro brings back convergence between phone and PC\n\nLinks:\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nOnlyOffice 10 gives more permissions to AI\nhttps://www.omgubuntu.co.uk/2026/10/onlyoffice-10-expands-ai-tools\n\nNew distro brings back convergence between phone and PC\nhttps://simplyluma.com/", "Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive", "f2954e17-995b-4fcb-bd17-1bcb31ba5de9", "9l5gMFbbeFQ", 621, false, "https://www.youtube.com/watch?v=9l5gMFbbeFQ", 15, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive.NA", false, false, false, 43, [], 97, ~U[2026-10-14 08:02:00Z], ~U[2026-10-26 19:24:51Z], ~U[2026-10-26 19:24:51Z], "👕 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 Mint 27 looks like a big release\n02:52 Kernel devs ponder removing mandatory AI use disclosure\n04:10 OnlyOffice 10 gives more permissions to AI\n06:36 New distro brings back convergence between phone and PC\n\nLinks:\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nOnlyOffice 10 gives more permissions to AI\nhttps://www.omgubuntu.co.uk/2026/10/onlyoffice-10-expands-ai-tools\n\nNew distro brings back convergence between phone and PC\nhttps://simplyluma.com/", "Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive", "9l5gMFbbeFQ", 621, false, "https://www.youtube.com/watch?v=9l5gMFbbeFQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive.NA", false, 43, ~U[2026-10-14 08:02:00Z]] 14:24:51.123 [debug] QUERY OK source="sources" db=0.2ms idle=175.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:51.124 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:24:51.124 [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 [4149136] 14:24:51.124 [info] Kicking off download for media item #4149136 (9l5gMFbbeFQ) 14:24:51.126 [debug] Current batch of media processed. Will check again in 1000ms 14:24:52.127 [debug] Current batch of media processed. Will check again in 1000ms 14:24:53.128 [debug] Current batch of media processed. Will check again in 1000ms 14:24:54.129 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "👏 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:53 What changed\n02:35 What's in the box\n04:27 Design & build quality\n06:52 Slap a Linux on it\n07:52 Display & touchscreen\n09:25 The good touch\n12:33 Keyboard & touchpad\n14:57 Webcam & mic\n16:25 Performance\n18:25 Conclusion\n\nLinks\n\nhttps://guides.frame.work/Guide/Display+Replacement+on+Framework+Laptop+12/428?lang=en\n\nhttps://www.figma.com/proto/BCDFqAEpP77tfkZyvHa9Mg/Review-guides?node-id=6191-2182&p=f&t=nLcQuvmdjojURlRP-0&scaling=contain&content-scaling=fixed&page-id=6191%3A1959\nhttps://guides.frame.work/Guide/Fedora+KDE+Plasma+Desktop+Installation+on+the+Framework+Laptop+12+Intel®+Core™+Series+3/856#s4394\nhttps://frame.work/fr/en/blog/framework-laptop-12-now-with-core-series-3\nhttps://frame.work/fr/en/products/laptop12-diy-intel-series3/configuration/new\n\n#framework #linuxdesktop #linux", "duration" => 1287, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?.mp4", "id" => "KEKiEabV7fk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KEKiEabV7fk", "playlist_index" => 16, "timestamp" => 1791903609, "title" => "Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?", "upload_date" => "20261013"} 14:24:54.130 [debug] QUERY OK source="sources" db=0.3ms idle=1671.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:24:54.131 [debug] QUERY OK source="sources" db=0.2ms idle=1672.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:54.136 [debug] QUERY OK source="media_items" db=4.7ms idle=1672.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 15:00:09Z], 43] 14:24:54.139 [debug] QUERY OK source="media_items" db=2.6ms idle=1186.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" ["👏 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:53 What changed\n02:35 What's in the box\n04:27 Design & build quality\n06:52 Slap a Linux on it\n07:52 Display & touchscreen\n09:25 The good touch\n12:33 Keyboard & touchpad\n14:57 Webcam & mic\n16:25 Performance\n18:25 Conclusion\n\nLinks\n\nhttps://guides.frame.work/Guide/Display+Replacement+on+Framework+Laptop+12/428?lang=en\n\nhttps://www.figma.com/proto/BCDFqAEpP77tfkZyvHa9Mg/Review-guides?node-id=6191-2182&p=f&t=nLcQuvmdjojURlRP-0&scaling=contain&content-scaling=fixed&page-id=6191%3A1959\nhttps://guides.frame.work/Guide/Fedora+KDE+Plasma+Desktop+Installation+on+the+Framework+Laptop+12+Intel®+Core™+Series+3/856#s4394\nhttps://frame.work/fr/en/blog/framework-laptop-12-now-with-core-series-3\nhttps://frame.work/fr/en/products/laptop12-diy-intel-series3/configuration/new\n\n#framework #linuxdesktop #linux", "Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?", "2bdc11e2-9d59-49df-92f1-c4a4d48312a7", "KEKiEabV7fk", 1287, false, "https://www.youtube.com/watch?v=KEKiEabV7fk", 16, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?.mp4", false, false, false, 43, [], 97, ~U[2026-10-13 15:00:09Z], ~U[2026-10-26 19:24:54Z], ~U[2026-10-26 19:24:54Z], "👏 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:53 What changed\n02:35 What's in the box\n04:27 Design & build quality\n06:52 Slap a Linux on it\n07:52 Display & touchscreen\n09:25 The good touch\n12:33 Keyboard & touchpad\n14:57 Webcam & mic\n16:25 Performance\n18:25 Conclusion\n\nLinks\n\nhttps://guides.frame.work/Guide/Display+Replacement+on+Framework+Laptop+12/428?lang=en\n\nhttps://www.figma.com/proto/BCDFqAEpP77tfkZyvHa9Mg/Review-guides?node-id=6191-2182&p=f&t=nLcQuvmdjojURlRP-0&scaling=contain&content-scaling=fixed&page-id=6191%3A1959\nhttps://guides.frame.work/Guide/Fedora+KDE+Plasma+Desktop+Installation+on+the+Framework+Laptop+12+Intel®+Core™+Series+3/856#s4394\nhttps://frame.work/fr/en/blog/framework-laptop-12-now-with-core-series-3\nhttps://frame.work/fr/en/products/laptop12-diy-intel-series3/configuration/new\n\n#framework #linuxdesktop #linux", "Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?", "KEKiEabV7fk", 1287, false, "https://www.youtube.com/watch?v=KEKiEabV7fk", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?.mp4", false, 43, ~U[2026-10-13 15:00:09Z]] 14:24:54.139 [debug] QUERY OK source="sources" db=0.2ms idle=188.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:54.140 [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] 14:24:54.140 [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 [4143209] 14:24:54.140 [debug] Current batch of media processed. Will check again in 1000ms 14:24:55.141 [debug] Current batch of media processed. Will check again in 1000ms 14:24:56.142 [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 Ubuntu releases their AI STT system as tech preview\n02:33 More performance improvements for ext4\n03:47 Firefox 159 brings some usability improvements\n05:14 Firefox releases a commercial Enterprise version\n07:04 Dev behind vibe coded Adobe suite bashes FOSS projects\n\n\nLinks:\nUbuntu releases their AI STT system as tech preview\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-release-myna-tech-preview\n\nMore performance improvements for ext4\nhttps://www.phoronix.com/news/EXT4-iomap-Buffered-IO\n\nFirefox 159 brings some usability improvements\nhttps://9to5linux.com/mozilla-firefox-159-enters-public-beta-testing-with-wayland-improvements\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software", "duration" => 562, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool.NA", "id" => "c_Q-KeF_ag4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c_Q-KeF_ag4", "playlist_index" => 17, "timestamp" => 1791884501, "title" => "Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool", "upload_date" => "20261013"} 14:24:56.143 [debug] QUERY OK source="sources" db=0.3ms idle=684.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:24:56.143 [debug] QUERY OK source="sources" db=0.2ms idle=684.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:56.148 [debug] QUERY OK source="media_items" db=4.7ms idle=685.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 09:41:41Z], 43] 14:24:56.150 [debug] QUERY OK source="media_items" db=1.2ms idle=690.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 Ubuntu releases their AI STT system as tech preview\n02:33 More performance improvements for ext4\n03:47 Firefox 159 brings some usability improvements\n05:14 Firefox releases a commercial Enterprise version\n07:04 Dev behind vibe coded Adobe suite bashes FOSS projects\n\n\nLinks:\nUbuntu releases their AI STT system as tech preview\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-release-myna-tech-preview\n\nMore performance improvements for ext4\nhttps://www.phoronix.com/news/EXT4-iomap-Buffered-IO\n\nFirefox 159 brings some usability improvements\nhttps://9to5linux.com/mozilla-firefox-159-enters-public-beta-testing-with-wayland-improvements\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software", "Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool", "98b42173-bdf7-405b-b6a4-10cd08bf1746", "c_Q-KeF_ag4", 562, false, "https://www.youtube.com/watch?v=c_Q-KeF_ag4", 17, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool.NA", false, false, false, 43, [], 97, ~U[2026-10-13 09:41:41Z], ~U[2026-10-26 19:24:56Z], ~U[2026-10-26 19:24:56Z], "👕 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 Ubuntu releases their AI STT system as tech preview\n02:33 More performance improvements for ext4\n03:47 Firefox 159 brings some usability improvements\n05:14 Firefox releases a commercial Enterprise version\n07:04 Dev behind vibe coded Adobe suite bashes FOSS projects\n\n\nLinks:\nUbuntu releases their AI STT system as tech preview\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-release-myna-tech-preview\n\nMore performance improvements for ext4\nhttps://www.phoronix.com/news/EXT4-iomap-Buffered-IO\n\nFirefox 159 brings some usability improvements\nhttps://9to5linux.com/mozilla-firefox-159-enters-public-beta-testing-with-wayland-improvements\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software", "Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool", "c_Q-KeF_ag4", 562, false, "https://www.youtube.com/watch?v=c_Q-KeF_ag4", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool.NA", false, 43, ~U[2026-10-13 09:41:41Z]] 14:24:56.151 [debug] QUERY OK source="sources" db=0.2ms idle=196.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:56.151 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:24:56.152 [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 [4141745] 14:24:56.152 [info] Kicking off download for media item #4141745 (c_Q-KeF_ag4) 14:24:56.153 [debug] Current batch of media processed. Will check again in 1000ms 14:24:57.154 [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/", "duration" => 1726, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Patroncast S06E40 - Open Source reimplementations of proprietary software.NA", "id" => "DAMo6xrRgmo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DAMo6xrRgmo", "playlist_index" => 18, "timestamp" => 1791797177, "title" => "Patroncast S06E40 - Open Source reimplementations of proprietary software", "upload_date" => "20261012"} 14:24:57.155 [debug] QUERY OK source="sources" db=0.2ms 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] 14:24:57.155 [debug] QUERY OK source="sources" db=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" = ?) [43] 14:24:57.160 [debug] QUERY OK source="media_items" db=4.0ms 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-10-12 09:26:17Z], 43] 14:24:57.161 [debug] QUERY OK source="media_items" db=1.1ms 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/", "Patroncast S06E40 - Open Source reimplementations of proprietary software", "e29a26ed-c759-416c-8735-037533f927f6", "DAMo6xrRgmo", 1726, false, "https://www.youtube.com/watch?v=DAMo6xrRgmo", 18, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Patroncast S06E40 - Open Source reimplementations of proprietary software.NA", false, false, false, 43, [], 97, ~U[2026-10-12 09:26:17Z], ~U[2026-10-26 19:24:57Z], ~U[2026-10-26 19:24:57Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/", "Patroncast S06E40 - Open Source reimplementations of proprietary software", "DAMo6xrRgmo", 1726, false, "https://www.youtube.com/watch?v=DAMo6xrRgmo", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Patroncast S06E40 - Open Source reimplementations of proprietary software.NA", false, 43, ~U[2026-10-12 09:26:17Z]] 14:24:57.161 [debug] QUERY OK source="sources" db=0.2ms idle=206.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:24:57.162 [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] 14:24:57.162 [debug] QUERY OK source="media_items" db=0.1ms 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 [4133811] 14:24:57.162 [info] Kicking off download for media item #4133811 (DAMo6xrRgmo) 14:24:57.164 [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 Torvalds builds branch for kernel using AI\n04:32 Ubuntu suffered a DDoS attack last week\n05:42 Ubuntu 26.10 adds media drivers to the AppCenter\n08:22 Valve releases CAD files for Steam Frame\n\nLinks:\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nUbuntu suffered a DDoS attack last week\nhttps://discourse.ubuntu.com/t/ddos-on-canonical-and-ubuntu-websites/89064\n\nUbuntu 26.10 adds media drivers to the AppCenter\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-app-center-add-ons-media\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/", "duration" => 603, "filename" => "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI.NA", "id" => "7D-HUxDUbbg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7D-HUxDUbbg", "playlist_index" => 19, "timestamp" => 1791794433, "title" => "Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI", "upload_date" => "20261012"} 14:24:57.164 [debug] QUERY OK source="sources" db=0.0ms 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" IN (?)) [43] 14:24:57.164 [debug] QUERY OK source="sources" db=0.0ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:24:57.168 [debug] QUERY OK source="media_items" db=3.3ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 08:40:33Z], 43] 14:24:57.169 [debug] QUERY OK source="media_items" db=0.9ms 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\nTimestamps\n00:00 Intro\n00:05 Torvalds builds branch for kernel using AI\n04:32 Ubuntu suffered a DDoS attack last week\n05:42 Ubuntu 26.10 adds media drivers to the AppCenter\n08:22 Valve releases CAD files for Steam Frame\n\nLinks:\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nUbuntu suffered a DDoS attack last week\nhttps://discourse.ubuntu.com/t/ddos-on-canonical-and-ubuntu-websites/89064\n\nUbuntu 26.10 adds media drivers to the AppCenter\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-app-center-add-ons-media\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/", "Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI", "86392961-d9d4-45d1-b23f-c7fb297c10c0", "7D-HUxDUbbg", 603, false, "https://www.youtube.com/watch?v=7D-HUxDUbbg", 19, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI.NA", false, false, false, 43, [], 97, ~U[2026-10-12 08:40:33Z], ~U[2026-10-26 19:24:57Z], ~U[2026-10-26 19:24: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 Torvalds builds branch for kernel using AI\n04:32 Ubuntu suffered a DDoS attack last week\n05:42 Ubuntu 26.10 adds media drivers to the AppCenter\n08:22 Valve releases CAD files for Steam Frame\n\nLinks:\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nUbuntu suffered a DDoS attack last week\nhttps://discourse.ubuntu.com/t/ddos-on-canonical-and-ubuntu-websites/89064\n\nUbuntu 26.10 adds media drivers to the AppCenter\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-app-center-add-ons-media\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/", "Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI", "7D-HUxDUbbg", 603, false, "https://www.youtube.com/watch?v=7D-HUxDUbbg", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI.NA", false, 43, ~U[2026-10-12 08:40:33Z]] 14:24:57.169 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [43] 14:24:57.170 [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] 14:24:57.170 [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 [4133570] 14:24:57.170 [info] Kicking off download for media item #4133570 (7D-HUxDUbbg) 14:24:57.171 [debug] Current batch of media processed. Will check again in 1000ms 14:24:58.172 [debug] Current batch of media processed. Will check again in 1000ms 14:24:58.964 [info] {"args":{"id":36},"id":541308,"meta":{},"system_time":1793042698964256958,"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"]} 14:24:58.964 [debug] QUERY OK source="sources" db=0.2ms idle=505.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:58.965 [debug] QUERY OK source="settings" db=0.1ms idle=506.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:58.966 [debug] QUERY OK source="media_items" db=1.6ms idle=506.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] 14:24:58.967 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 14:24:58.967 [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] 14:24:58.967 [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 [] 14:24:58.967 [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 [] 14:24:58.970 [debug] QUERY OK source="media_items" db=1.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."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [36] 14:24:58.973 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:24:58.973 [debug] Current batch of media processed. Will check again in 1000ms 14:24:58.973 [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 [] 14:24:58.973 [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 [] 14:24:58.973 [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 [] 14:24:58.974 [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/c0/21/c021f2a8981379d35536558a920d75d89852c2c26132dd0dcb8145bac4e5d786.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ad/a7/ada745aa4fa227f01064681963eedb9abf120a17e8d10b5fb061207c4a77971f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:59.173 [debug] Current batch of media processed. Will check again in 1000ms 14:24:59.479 [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/7b/22/7b229a0631a8cb9ba5409fe50f053aede4b876bb2db0852a0320a9c0932f0807.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/47/fc/47fc13ed2009e47be628d1c0f92656d79593aa473618a636dbe6a895fe8fa2f2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 14:24:59.480 [debug] Gracefully stopping file follower 14:24:59.480 [debug] QUERY OK source="sources" db=0.2ms idle=512.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:24:59.480 [debug] QUERY OK source="sources" db=0.1ms idle=509.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:59.484 [debug] QUERY OK source="media_items" db=3.7ms idle=507.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 09:53:47Z], 43] 14:24:59.485 [debug] QUERY OK source="media_items" db=0.6ms idle=511.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 Bottles dev talks vibe cloned software, AI and other projects\n06:19 Spotify Client for GNOME\n07:49 SystemD adds Rust support for new modules\n09:31 Flathub shuts down their Forums", "Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support", "b8bd284b-7570-4c78-ba43-ec7c67bd9331", "_Vqmu1AbXyQ", 689, false, "https://www.youtube.com/watch?v=_Vqmu1AbXyQ", 1, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support.NA", false, false, false, 43, [], 97, ~U[2026-10-26 09:53:47Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 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 Bottles dev talks vibe cloned software, AI and other projects\n06:19 Spotify Client for GNOME\n07:49 SystemD adds Rust support for new modules\n09:31 Flathub shuts down their Forums", "Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support", "_Vqmu1AbXyQ", 689, false, "https://www.youtube.com/watch?v=_Vqmu1AbXyQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Daily Linux News - S03E206 - Flathub shuts forums down, SystemD adds Rust support.NA", false, 43, ~U[2026-10-26 09:53:47Z]] 14:24:59.485 [debug] QUERY OK source="sources" db=0.1ms idle=511.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:59.489 [debug] QUERY OK source="media_items" db=3.7ms 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-10-26 09:29:04Z], 43] 14:24:59.490 [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:42 Update on the channel plans\n10:31 What's happening in France", "Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now", "500caa32-e24e-407e-b059-a05d074fdbac", "m1PbF6H2Y_M", 1659, false, "https://www.youtube.com/watch?v=m1PbF6H2Y_M", 2, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now.NA", false, false, false, 43, [], 97, ~U[2026-10-26 09:29:04Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 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 Update on the channel plans\n10:31 What's happening in France", "Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now", "m1PbF6H2Y_M", 1659, false, "https://www.youtube.com/watch?v=m1PbF6H2Y_M", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102600_Patroncast S06E42 - Update on my plans for the channel & what's happening in France right now.NA", false, 43, ~U[2026-10-26 09:29:04Z]] 14:24:59.491 [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] 14:24:59.495 [debug] QUERY OK source="media_items" db=3.6ms 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-10-24 08:21:12Z], 43] 14:24:59.497 [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" ["Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.com/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\n#linux #linuxnews #technews \n\n\nTimestamps:\n00:00 Intro\n00:50 Sponsor: Internxt\n02:24 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n04:54 Kernel 7.3 released\n06:24 Big influx of Rust code in Kernel 7.4\n07:40 Bitwarden moves to a commercial license, mostly\n10:06 KeePassXC supports auto-type on Wayland now\n11:12 Mint shows more of their new apps\n13:01 LibreOffice is getting record download numbers\n14:49 Proposed AI assistant prototype for Ubuntu\n17:43 OpenBSD gets Wine and runs Windows games\n19:13 Cutefish desktop revived as a vibe coded MacOS Clone\n21:06 Epic Game Stores new preview looks pretty bad\n22:55 Big Tech funds study to warn against digital sovereignty\n25:18 Massive PHP flaw discovered, and patched\n27:47 Sponsor: Tuxedo Computers\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o", "Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News", "5775bb0a-2ecb-4185-b78e-2d84159fbe2e", "rR5HmB53C7k", 1752, false, "https://www.youtube.com/watch?v=rR5HmB53C7k", 3, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102400_Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News.mp4", false, false, false, 43, [], 98, ~U[2026-10-24 08:21:12Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.com/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\n#linux #linuxnews #technews \n\n\nTimestamps:\n00:00 Intro\n00:50 Sponsor: Internxt\n02:24 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n04:54 Kernel 7.3 released\n06:24 Big influx of Rust code in Kernel 7.4\n07:40 Bitwarden moves to a commercial license, mostly\n10:06 KeePassXC supports auto-type on Wayland now\n11:12 Mint shows more of their new apps\n13:01 LibreOffice is getting record download numbers\n14:49 Proposed AI assistant prototype for Ubuntu\n17:43 OpenBSD gets Wine and runs Windows games\n19:13 Cutefish desktop revived as a vibe coded MacOS Clone\n21:06 Epic Game Stores new preview looks pretty bad\n22:55 Big Tech funds study to warn against digital sovereignty\n25:18 Massive PHP flaw discovered, and patched\n27:47 Sponsor: Tuxedo Computers\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o", "Bitwarden's license change, Ubuntu AI assistant, LibreOffice breaks records - Linux Weekly News", "rR5HmB53C7k", 1752, false, "https://www.youtube.com/watch?v=rR5HmB53C7k", "/downloads/chris/ (truncated) 14:24:59.497 [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] 14:24:59.501 [debug] QUERY OK source="media_items" db=3.6ms 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-10-23 09:57:38Z], 43] 14:24:59.502 [debug] QUERY OK source="media_items" db=0.9ms idle=10.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:48 Proposed AI assistant prototype for Ubuntu\n04:31 Massive PHP flaw discovered, and patched\n06:46 Epic Game Stores new preview looks pretty bad\n09:06 Linux kernel CVEs posted publicly (likely by AI)\n11:27 Big Tech funds study to warn against digital sovereignty\n\nLinks\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nLinux kernel CVEs posted publicly (likely by AI)\nhttps://www.phoronix.com/news/LKML-New-Trend-Vulnerabilities\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/", "Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant", "eebe96dd-3e12-4b81-a3ef-2a59e7746c02", "mQDigsnENu8", 870, false, "https://www.youtube.com/watch?v=mQDigsnENu8", 4, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102300_Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant.NA", false, false, false, 43, [], 98, ~U[2026-10-23 09:57:38Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:48 Proposed AI assistant prototype for Ubuntu\n04:31 Massive PHP flaw discovered, and patched\n06:46 Epic Game Stores new preview looks pretty bad\n09:06 Linux kernel CVEs posted publicly (likely by AI)\n11:27 Big Tech funds study to warn against digital sovereignty\n\nLinks\nProposed AI assistant prototype for Ubuntu\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-ai-launcher-prototype\n\nMassive PHP flaw discovered, and patched\nhttps://www.wiz.io/blog/php2shell-php-rce\nhttps://www.bbc.com/news/articles/cw98z6qlyvg3o\n\nEpic Game Stores new preview looks pretty bad\nhttps://www.techdirt.com/2026/10/21/epic-rolls-out-vibe-coded-launcher-update-its-absolute-trash/\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-is-slowly-becoming-actually-usable-on-linux/\n\nLinux kernel CVEs posted publicly (likely by AI)\nhttps://www.phoronix.com/news/LKML-New-Trend-Vulnerabilities\n\nBig Tech funds study to warn against digital sovereignty\nhttps://itsfoss.com/news/eu-cloud-sovereignty-cada-cost-study/", "Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant", "mQDigsnENu8", 870, false, "https://www.youtube.com/watch?v=mQDigsnENu8", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102300_Daily Linux News - S03E205 - Big PHP flaw, kernel CVEs disclosed publicly, Ubuntu AI assistant.NA", false, 43, ~U[2026-10-23 09:57:38Z]] 14:24:59.503 [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] 14:24:59.507 [debug] QUERY OK source="media_items" db=3.6ms 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-10-22 07:04:05Z], 43] 14:24:59.508 [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 LibreOffice is getting record download numbers\n03:04 AMD proposes initial Ryzen overclocking driver\n04:34 KeePassXC supports auto-type on Wayland now\n06:18 Snapdragon X2 Linux support is apparently pretty good\n\nLinks\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nAMD proposes initial Ryzen overclocking driver\nhttps://www.phoronix.com/news/AMD-AOD-Overclocking-Linux\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nSnapdragon X2 Linux support is apparently pretty good\nhttps://www.phoronix.com/review/snapdragon-x2-linux/10", "Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better", "6c1d0471-1218-47e3-bbb5-d1dec430b0e2", "gy_lktvgtwk", 541, false, "https://www.youtube.com/watch?v=gy_lktvgtwk", 5, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102200_Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better.NA", false, false, false, 43, [], 98, ~U[2026-10-22 07:04:05Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 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 LibreOffice is getting record download numbers\n03:04 AMD proposes initial Ryzen overclocking driver\n04:34 KeePassXC supports auto-type on Wayland now\n06:18 Snapdragon X2 Linux support is apparently pretty good\n\nLinks\n\nLibreOffice is getting record download numbers\nhttps://blog.documentfoundation.org/blog/2026/10/21/8-weeks-9-4-million-downloads/\nhttps://linuxiac.com/libreoffice-hits-9-4-million-downloads-in-just-eight-weeks/\n\nAMD proposes initial Ryzen overclocking driver\nhttps://www.phoronix.com/news/AMD-AOD-Overclocking-Linux\n\nKeePassXC supports auto-type on Wayland now\nhttps://keepassxc.org/blog/2026-10-21-2.8.0-released/\n\nSnapdragon X2 Linux support is apparently pretty good\nhttps://www.phoronix.com/review/snapdragon-x2-linux/10", "Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better", "gy_lktvgtwk", 541, false, "https://www.youtube.com/watch?v=gy_lktvgtwk", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102200_Daily Linux News - S03E204 - LibreOffice breaks download records, KeepassXC supports Wayland better.NA", false, 43, ~U[2026-10-22 07:04:05Z]] 14:24:59.509 [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] 14:24:59.513 [debug] QUERY OK source="media_items" db=3.8ms 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-10-21 08:46:58Z], 43] 14:24:59.514 [debug] QUERY OK source="media_items" db=0.7ms idle=10.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 Big influx of Rust code in Kernel 7.4\n02:20 OpenBSD gets Wine and runs Windows games\n04:37 New filesystem designed for satellites proposed for the kernel\n\nLinks\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nNew filesystem designed for satellites proposed for the kernel\nhttps://linuxiac.com/beamfs-filesystem-proposed-for-inclusion-in-the-linux-kernel/", "Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games", "a6df0877-2d28-43c4-8517-126a321b8b9c", "l1f2cr9J5FY", 429, false, "https://www.youtube.com/watch?v=l1f2cr9J5FY", 6, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102100_Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games.NA", false, false, false, 43, [], 98, ~U[2026-10-21 08:46:58Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 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 Big influx of Rust code in Kernel 7.4\n02:20 OpenBSD gets Wine and runs Windows games\n04:37 New filesystem designed for satellites proposed for the kernel\n\nLinks\n\nBig influx of Rust code in Kernel 7.4\nhttps://www.phoronix.com/news/Linux-7.4-Rust\n\nOpenBSD gets Wine and runs Windows games\nhttps://marc.info/?l=openbsd-ports&m=179236125692175\nhttps://linuxiac.com/wine-on-openbsd-yes-and-it-can-already-run-the-witcher-3/\n\nNew filesystem designed for satellites proposed for the kernel\nhttps://linuxiac.com/beamfs-filesystem-proposed-for-inclusion-in-the-linux-kernel/", "Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games", "l1f2cr9J5FY", 429, false, "https://www.youtube.com/watch?v=l1f2cr9J5FY", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102100_Daily Linux News - S03E203 - New filesystem for satellites, OpenBSD gets Wine and runs games.NA", false, 43, ~U[2026-10-21 08:46:58Z]] 14:24:59.515 [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] 14:24:59.518 [debug] QUERY OK source="media_items" db=3.4ms 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-10-20 07:43:57Z], 43] 14:24:59.521 [debug] QUERY OK source="media_items" db=2.6ms 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 Torvald's AI generated code is rreworked for better performance\n02:39 Cutefish desktop revived as a vibe coded MacOS Clone\n07:33 Bitwarden moves to a commercial license, mostly\n\nLinks\nTorvald's AI generated code is rreworked for better performance\nhttps://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750", "Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence", "bc523ece-fa3a-4b7c-bb35-e1c658af8385", "qBNYnMDXcFI", 695, false, "https://www.youtube.com/watch?v=qBNYnMDXcFI", 7, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102000_Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence.NA", false, false, false, 43, [], 98, ~U[2026-10-20 07:43:57Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 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 Torvald's AI generated code is rreworked for better performance\n02:39 Cutefish desktop revived as a vibe coded MacOS Clone\n07:33 Bitwarden moves to a commercial license, mostly\n\nLinks\nTorvald's AI generated code is rreworked for better performance\nhttps://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref\n\nCutefish desktop revived as a vibe coded MacOS Clone\nhttps://itsfoss.com/news/cutefishos-vibe-coded-desktop/\n\nBitwarden moves to a commercial license, mostly\nhttps://community.bitwarden.com/t/published-version-update-in-app-stores/102750", "Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence", "qBNYnMDXcFI", 695, false, "https://www.youtube.com/watch?v=qBNYnMDXcFI", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e102000_Daily Linux News - S03E202 - Rise of Windows & macOS clones, Bitwarden pushes commercial licence.NA", false, 43, ~U[2026-10-20 07:43:57Z]] 14:24:59.522 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [43] 14:24:59.525 [debug] QUERY OK source="media_items" db=3.4ms 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-10-19 09:07:19Z], 43] 14:24:59.527 [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" ["👕 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 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n03:37 Kernel 7.3 released\n05:27 GNOME OS has a preview\n08:21 Mint shows more of their new apps\n10:36 Meta's TOS say all business content is fair use for AI training\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nGNOME OS has a preview\nhttps://blogs.gnome.org/adrianvovk/2026/10/16/gnome-os-preview/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nMeta's TOS say all business content is fair use for AI training\nhttps://arstechnica.com/tech-policy/2026/10/meta-may-use-sweeping-new-commercial-tos-to-avoid-millions-in-ai-licensing-fees/", "Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3", "73c90970-17f3-4e91-9d7f-8264872d2479", "QSqdUxnMopg", 813, false, "https://www.youtube.com/watch?v=QSqdUxnMopg", 8, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3.NA", false, false, false, 43, [], 97, ~U[2026-10-19 09:07:19Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 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 Kernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\n03:37 Kernel 7.3 released\n05:27 GNOME OS has a preview\n08:21 Mint shows more of their new apps\n10:36 Meta's TOS say all business content is fair use for AI training\n\nLinks\nKernel devs agree to remove AI disclosure, Torvalds goes off on A.I.\nhttps://www.xda-developers.com/linus-calls-banning-ai-generated-code-utterly-stupid-as-linux-submissions-no-longer-need-llm-disclosure/\n\nKernel 7.3 released\nhttps://itsfoss.com/news/linux-kernel-7-3-release/\n\nGNOME OS has a preview\nhttps://blogs.gnome.org/adrianvovk/2026/10/16/gnome-os-preview/\n\nMint shows more of their new apps\nhttps://www.omgubuntu.co.uk/2026/10/linux-mint-new-system-monitor\n\nMeta's TOS say all business content is fair use for AI training\nhttps://arstechnica.com/tech-policy/2026/10/meta-may-use-sweeping-new-commercial-tos-to-avoid-millions-in-ai-licensing-fees/", "Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3", "QSqdUxnMopg", 813, false, "https://www.youtube.com/watch?v=QSqdUxnMopg", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Daily Linux News - S03E201 - Torvalds goes full pro AI mode, Mint's new apps, Kernel 7.3.NA", false, 43, ~U[2026-10-19 09:07:19Z]] 14:24:59.527 [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] 14:24:59.531 [debug] QUERY OK source="media_items" db=3.5ms 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-10-19 07:07:25Z], 43] 14:24:59.532 [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:44 My 20 years with KDE\n14:45 Will A.I. make Linux fragmentation worse?", "Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?", "8a2dec27-1abd-40ff-9a16-fe34df67be12", "SWg3_hfAEUg", 1586, false, "https://www.youtube.com/watch?v=SWg3_hfAEUg", 9, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?.NA", false, false, false, 43, [], 97, ~U[2026-10-19 07:07:25Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/\n\nTimestamps:\n00:00 Intro\n00:44 My 20 years with KDE\n14:45 Will A.I. make Linux fragmentation worse?", "Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?", "SWg3_hfAEUg", 1586, false, "https://www.youtube.com/watch?v=SWg3_hfAEUg", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101900_Patroncast S06E41- My 20 years with KDE, Linux fragmentation will get worse?.NA", false, 43, ~U[2026-10-19 07:07:25Z]] 14:24:59.533 [debug] QUERY OK source="sources" db=0.5ms 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] 14:24:59.536 [debug] QUERY OK source="media_items" db=3.3ms 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-10-17 08:25:38Z], 43] 14:24:59.538 [debug] QUERY OK source="media_items" db=1.5ms 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" ["Get a Hostinger VPS for self-hosting, home lab projects, automations, running Docker containers, and hosting your own services! Use code LINUXEXPERIMENT for a special deal: https://hostinger.com/linuxexperiment\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:49 Sponsor: Hostinger\n02:02 GNOME OS released in Preview\n06:03 Epic Games Store has a Linux client, EAC will support Linux too\n10:01 Torvalds builds branch for kernel using AI\n13:42 Kernel devs ponder removing mandatory AI use disclosure\n15:32 KDE Plasma 6.8 is released\n17:13 Ubuntu 26.10 released\n19:16 Mint 27 looks like a big release\n21:27 Steam Client is finally moving to 64bit\n22:27 Netherlands backs away from MS365 rollout\n24:16 Dev behind vibe coded Adobe suite bashes FOSS projects\n25:57 Framework triples their funding for CachyOS\n27:11 Firefox releases a commercial Enterprise version\n28:57 New EuroOffice fork that looks like MS Office\n30:54 Valve releases CAD files for Steam Frame\n32:32 Sponsor: Tuxedo Computers\n\nLinks:\n\nGNOME OS released in Preview\nhttps://os.gnome.org/\n\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/\n\n#linux #linuxnews #technews", "GNOME OS Preview, Epic supports Linux, Linux kernel set to go all in on AI - Linux Weekly News", "697bdb3b-8f42-43b4-90f1-d176086ded33", "jsfxngunmbs", 2040, false, "https://www.youtube.com/watch?v=jsfxngunmbs", 10, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101700_GNOME OS Preview, Epic supports Linux, Linux kernel set to go all in on AI - Linux Weekly News.mp4", false, false, false, 43, [], 98, ~U[2026-10-17 08:25:38Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "Get a Hostinger VPS for self-hosting, home lab projects, automations, running Docker containers, and hosting your own services! Use code LINUXEXPERIMENT for a special deal: https://hostinger.com/linuxexperiment\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:49 Sponsor: Hostinger\n02:02 GNOME OS released in Preview\n06:03 Epic Games Store has a Linux client, EAC will support Linux too\n10:01 Torvalds builds branch for kernel using AI\n13:42 Kernel devs ponder removing mandatory AI use disclosure\n15:32 KDE Plasma 6.8 is released\n17:13 Ubuntu 26.10 released\n19:16 Mint 27 looks like a big release\n21:27 Steam Client is finally moving to 64bit\n22:27 Netherlands backs away from MS365 rollout\n24:16 Dev behind vibe coded Adobe suite bashes FOSS projects\n25:57 Framework triples their funding for CachyOS\n27:11 Firefox releases a commercial Enterprise version\n28:57 New EuroOffice fork that looks like MS Office\n30:54 Valve releases CAD files for Steam Frame\n32:32 Sponsor: Tuxedo Computers\n\nLinks:\n\nGNOME OS released in Preview\nhttps://os.gnome.org/\n\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-r (truncated) 14:24:59.539 [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" = ?) [43] 14:24:59.543 [debug] QUERY OK source="media_items" db=3.6ms 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-10-16 07:03:54Z], 43] 14:24:59.544 [debug] QUERY OK source="media_items" db=0.9ms idle=10.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 Ubuntu 26.10 released\n03:10 AUR still getting more malware\n04:53 Easy Anti Cheat v2 is apparently easy to bypass\n07:04 Steam Client is finally moving to 64bit\n\nLinks\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nAUR still getting more malware\nhttps://www.bleepingcomputer.com/news/security/fake-arch-linux-packages-push-malware-with-root-privileges/\n\nEasy Anti Cheat v2 is apparently easy to bypass\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403", "Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues", "3086aca3-9a47-4489-b045-31946c8849ef", "n4Pi_dhVyiE", 523, false, "https://www.youtube.com/watch?v=n4Pi_dhVyiE", 11, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101600_Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues.NA", false, false, false, 43, [], 98, ~U[2026-10-16 07:03:54Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 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 Ubuntu 26.10 released\n03:10 AUR still getting more malware\n04:53 Easy Anti Cheat v2 is apparently easy to bypass\n07:04 Steam Client is finally moving to 64bit\n\nLinks\n\nUbuntu 26.10 released\nhttps://ubuntu.com//blog/canonical-releases-ubuntu-26-10-stonking-stingray\n\nAUR still getting more malware\nhttps://www.bleepingcomputer.com/news/security/fake-arch-linux-packages-push-malware-with-root-privileges/\n\nEasy Anti Cheat v2 is apparently easy to bypass\nhttps://codon.org.uk/~mjg59/blog/p/epics-eac2-v2-seems-fairly-easily-bypassable/\n\nSteam Client is finally moving to 64bit\nhttps://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403", "Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues", "n4Pi_dhVyiE", 523, false, "https://www.youtube.com/watch?v=n4Pi_dhVyiE", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101600_Daily Linux News S03E200 - Steam moves to 64bit, Ubuntu 26.10 released, AUR still has malware issues.NA", false, 43, ~U[2026-10-16 07:03:54Z]] 14:24:59.545 [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" = ?) [43] 14:24:59.549 [debug] QUERY OK source="media_items" db=3.6ms 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-10-15 11:38:43Z], 43] 14:24:59.550 [debug] QUERY OK source="media_items" db=0.9ms idle=10.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" ["Grab 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\n01:10 Internals and hardware support\n02:40 Desktop changes\n07:42 Ai speech to text\n09:52 App center changes\n11:38 Installer changes\n13:15 Rustification\n14:32 Gnome 51 changes\n20:32 Conclusion\n21:53 Sponsor: Tuxedo Computers\n\n#ubuntu #linux #linuxdesktop", "Ubuntu 26.10 copies Windows tiling and rustifies itself", "bf04cfb8-2d01-4eb0-846c-a9f8c12de13c", "4O_OU0OZn3Q", 1421, false, "https://www.youtube.com/watch?v=4O_OU0OZn3Q", 12, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Ubuntu 26.10 copies Windows tiling and rustifies itself.mp4", false, false, false, 43, [], 97, ~U[2026-10-15 11:38:43Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "Grab 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\n01:10 Internals and hardware support\n02:40 Desktop changes\n07:42 Ai speech to text\n09:52 App center changes\n11:38 Installer changes\n13:15 Rustification\n14:32 Gnome 51 changes\n20:32 Conclusion\n21:53 Sponsor: Tuxedo Computers\n\n#ubuntu #linux #linuxdesktop", "Ubuntu 26.10 copies Windows tiling and rustifies itself", "4O_OU0OZn3Q", 1421, false, "https://www.youtube.com/watch?v=4O_OU0OZn3Q", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Ubuntu 26.10 copies Windows tiling and rustifies itself.mp4", false, 43, ~U[2026-10-15 11:38:43Z]] 14:24:59.551 [debug] QUERY OK source="sources" db=0.6ms 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] 14:24:59.555 [debug] QUERY OK source="media_items" db=3.8ms 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-10-15 09:48:31Z], 43] 14:24:59.572 [debug] QUERY OK source="media_items" db=16.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 Epic Games Store has a Linux client, EAC will support Linux too\n04:32 KDE Plasma 6.8 is released\n06:22 New EuroOffice fork that looks like MS Office\n08:40 Framework triples their funding for CachyOS\n09:42 Netherlands backs away from MS365 rollout\n\nLinks\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/", "Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone", "844729ba-b1b2-4e96-81bd-c70f62bb2bd5", "zHudaeEcGu4", 722, false, "https://www.youtube.com/watch?v=zHudaeEcGu4", 13, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone.NA", false, false, false, 43, [], 97, ~U[2026-10-15 09:48:31Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 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 Epic Games Store has a Linux client, EAC will support Linux too\n04:32 KDE Plasma 6.8 is released\n06:22 New EuroOffice fork that looks like MS Office\n08:40 Framework triples their funding for CachyOS\n09:42 Netherlands backs away from MS365 rollout\n\nLinks\nEpic Games Store has a Linux client, EAC will support Linux too\nhttps://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\nhttps://www.gamingonlinux.com/2026/10/epic-games-launcher-preview-arrives-native-linux-support-fortnite-for-linux-is-coming-and-upgraded-easy-anti-cheat/\n\nKDE Plasma 6.8 is released\nhttps://kde.org/announcements/plasma/6/6.8.0/\n\nNew EuroOffice fork that looks like MS Office\nhttps://itsfoss.com/news/elixiroffice-euro-office-fork/\nhttps://github.com/leag1234/elixiroffice\n\nFramework triples their funding for CachyOS\nhttps://discuss.cachyos.org/t/announcement-framework-is-tripling-its-support-for-cachyos/37042\n\nNetherlands backs away from MS365 rollout\nhttps://www.zdnet.com/business/dutch-tax-authorities-cancel-microsoft-365-cloud-rollout/", "Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone", "zHudaeEcGu4", 722, false, "https://www.youtube.com/watch?v=zHudaeEcGu4", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101500_Daily Linux News - S03E199 - EAC & Epic Games Store on Linux, Plasma 6.8, anther MS Office clone.NA", false, 43, ~U[2026-10-15 09:48:31Z]] 14:24:59.573 [debug] QUERY OK source="sources" db=0.6ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:24:59.577 [debug] QUERY OK source="media_items" db=3.6ms idle=23.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 09:22:33Z], 43] 14:24:59.582 [debug] QUERY OK source="media_items" db=4.6ms idle=26.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" ["Grab 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\n01:32 Wayland-only\n02:59 Kde theming\n09:33 Plasma-desktop\n12:42 Window management\n15:09 Performance improvements & wayland\n17:28 Misc. changes to the desktop\n18:27 Settings\n20:58 Application changes\n25:13 Conclusion\n27:55 Sponsor: Tuxedo Computers\n\n#kdeplasma #linux #linuxdesktop", "KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!", "2f6e93d4-309e-44b3-a157-b32b6642d6a5", "McUdRVblhvE", 1769, false, "https://www.youtube.com/watch?v=McUdRVblhvE", 14, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!.mp4", false, false, false, 43, [], 97, ~U[2026-10-14 09:22:33Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "Grab 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\n01:32 Wayland-only\n02:59 Kde theming\n09:33 Plasma-desktop\n12:42 Window management\n15:09 Performance improvements & wayland\n17:28 Misc. changes to the desktop\n18:27 Settings\n20:58 Application changes\n25:13 Conclusion\n27:55 Sponsor: Tuxedo Computers\n\n#kdeplasma #linux #linuxdesktop", "KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!", "McUdRVblhvE", 1769, false, "https://www.youtube.com/watch?v=McUdRVblhvE", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_KDE Plasma 6.8: No More X11, Union theming, and a TON of changes!.mp4", false, 43, ~U[2026-10-14 09:22:33Z]] 14:24:59.583 [debug] QUERY OK source="sources" db=0.5ms idle=27.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:24:59.587 [debug] QUERY OK source="media_items" db=3.6ms idle=11.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 08:02:00Z], 43] 14:24:59.588 [debug] QUERY OK source="media_items" db=0.8ms idle=14.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 Mint 27 looks like a big release\n02:52 Kernel devs ponder removing mandatory AI use disclosure\n04:10 OnlyOffice 10 gives more permissions to AI\n06:36 New distro brings back convergence between phone and PC\n\nLinks:\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nOnlyOffice 10 gives more permissions to AI\nhttps://www.omgubuntu.co.uk/2026/10/onlyoffice-10-expands-ai-tools\n\nNew distro brings back convergence between phone and PC\nhttps://simplyluma.com/", "Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive", "524d6358-464d-45a2-86ab-ea4a6ebe4c13", "9l5gMFbbeFQ", 621, false, "https://www.youtube.com/watch?v=9l5gMFbbeFQ", 15, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive.NA", false, false, false, 43, [], 97, ~U[2026-10-14 08:02:00Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 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 Mint 27 looks like a big release\n02:52 Kernel devs ponder removing mandatory AI use disclosure\n04:10 OnlyOffice 10 gives more permissions to AI\n06:36 New distro brings back convergence between phone and PC\n\nLinks:\nMint 27 looks like a big release\nhttps://blog.linuxmint.com/?p=5086\n\nKernel devs ponder removing mandatory AI use disclosure\nhttps://www.phoronix.com/news/Linux-Dropping-Assisted-By-Req\n\nOnlyOffice 10 gives more permissions to AI\nhttps://www.omgubuntu.co.uk/2026/10/onlyoffice-10-expands-ai-tools\n\nNew distro brings back convergence between phone and PC\nhttps://simplyluma.com/", "Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive", "9l5gMFbbeFQ", 621, false, "https://www.youtube.com/watch?v=9l5gMFbbeFQ", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101400_Daily Linux News - S03E198 - New distro aims for convergence & forks GNOME, Mint 27 looking massive.NA", false, 43, ~U[2026-10-14 08:02:00Z]] 14:24:59.589 [debug] QUERY OK source="sources" db=0.5ms idle=11.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:24:59.593 [debug] QUERY OK source="media_items" db=3.6ms 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-10-13 15:00:09Z], 43] 14:24:59.596 [debug] QUERY OK source="media_items" db=2.9ms idle=10.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" ["👏 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:53 What changed\n02:35 What's in the box\n04:27 Design & build quality\n06:52 Slap a Linux on it\n07:52 Display & touchscreen\n09:25 The good touch\n12:33 Keyboard & touchpad\n14:57 Webcam & mic\n16:25 Performance\n18:25 Conclusion\n\nLinks\n\nhttps://guides.frame.work/Guide/Display+Replacement+on+Framework+Laptop+12/428?lang=en\n\nhttps://www.figma.com/proto/BCDFqAEpP77tfkZyvHa9Mg/Review-guides?node-id=6191-2182&p=f&t=nLcQuvmdjojURlRP-0&scaling=contain&content-scaling=fixed&page-id=6191%3A1959\nhttps://guides.frame.work/Guide/Fedora+KDE+Plasma+Desktop+Installation+on+the+Framework+Laptop+12+Intel®+Core™+Series+3/856#s4394\nhttps://frame.work/fr/en/blog/framework-laptop-12-now-with-core-series-3\nhttps://frame.work/fr/en/products/laptop12-diy-intel-series3/configuration/new\n\n#framework #linuxdesktop #linux", "Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?", "d63fd87f-b26f-4c3b-b740-7b4cc9b6e789", "KEKiEabV7fk", 1287, false, "https://www.youtube.com/watch?v=KEKiEabV7fk", 16, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?.mp4", false, false, false, 43, [], 97, ~U[2026-10-13 15:00:09Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👏 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:53 What changed\n02:35 What's in the box\n04:27 Design & build quality\n06:52 Slap a Linux on it\n07:52 Display & touchscreen\n09:25 The good touch\n12:33 Keyboard & touchpad\n14:57 Webcam & mic\n16:25 Performance\n18:25 Conclusion\n\nLinks\n\nhttps://guides.frame.work/Guide/Display+Replacement+on+Framework+Laptop+12/428?lang=en\n\nhttps://www.figma.com/proto/BCDFqAEpP77tfkZyvHa9Mg/Review-guides?node-id=6191-2182&p=f&t=nLcQuvmdjojURlRP-0&scaling=contain&content-scaling=fixed&page-id=6191%3A1959\nhttps://guides.frame.work/Guide/Fedora+KDE+Plasma+Desktop+Installation+on+the+Framework+Laptop+12+Intel®+Core™+Series+3/856#s4394\nhttps://frame.work/fr/en/blog/framework-laptop-12-now-with-core-series-3\nhttps://frame.work/fr/en/products/laptop12-diy-intel-series3/configuration/new\n\n#framework #linuxdesktop #linux", "Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?", "KEKiEabV7fk", 1287, false, "https://www.youtube.com/watch?v=KEKiEabV7fk", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Framework Laptop 12 (2026) Review: the Linux MacBook Neo alternative?.mp4", false, 43, ~U[2026-10-13 15:00:09Z]] 14:24:59.597 [debug] QUERY OK source="sources" db=0.6ms idle=9.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:24:59.601 [debug] QUERY OK source="media_items" db=3.7ms idle=9.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 09:41:41Z], 43] 14:24:59.603 [debug] QUERY OK source="media_items" db=1.0ms 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" ["👕 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 Ubuntu releases their AI STT system as tech preview\n02:33 More performance improvements for ext4\n03:47 Firefox 159 brings some usability improvements\n05:14 Firefox releases a commercial Enterprise version\n07:04 Dev behind vibe coded Adobe suite bashes FOSS projects\n\n\nLinks:\nUbuntu releases their AI STT system as tech preview\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-release-myna-tech-preview\n\nMore performance improvements for ext4\nhttps://www.phoronix.com/news/EXT4-iomap-Buffered-IO\n\nFirefox 159 brings some usability improvements\nhttps://9to5linux.com/mozilla-firefox-159-enters-public-beta-testing-with-wayland-improvements\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software", "Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool", "e7136166-cea9-4fae-a4cf-d29300f48f57", "c_Q-KeF_ag4", 562, false, "https://www.youtube.com/watch?v=c_Q-KeF_ag4", 17, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool.NA", false, false, false, 43, [], 97, ~U[2026-10-13 09:41:41Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 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 Ubuntu releases their AI STT system as tech preview\n02:33 More performance improvements for ext4\n03:47 Firefox 159 brings some usability improvements\n05:14 Firefox releases a commercial Enterprise version\n07:04 Dev behind vibe coded Adobe suite bashes FOSS projects\n\n\nLinks:\nUbuntu releases their AI STT system as tech preview\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-release-myna-tech-preview\n\nMore performance improvements for ext4\nhttps://www.phoronix.com/news/EXT4-iomap-Buffered-IO\n\nFirefox 159 brings some usability improvements\nhttps://9to5linux.com/mozilla-firefox-159-enters-public-beta-testing-with-wayland-improvements\n\nFirefox releases a commercial Enterprise version\nhttps://blog.mozilla.org/en/firefox/introducing-firefox-enterprise/\n\nDev behind vibe coded Adobe suite bashes FOSS projects\nhttps://www.techradar.com/computing/office-suites/developer-who-vibe-coded-free-adobe-clones-reveals-apps-to-take-down-microsoft-office-next-and-says-there-is-no-reason-to-save-broken-software", "Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool", "c_Q-KeF_ag4", 562, false, "https://www.youtube.com/watch?v=c_Q-KeF_ag4", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101300_Daily Linux News - S03E197 - Firefox releases Enterprise version, Ubuntu's AI tool.NA", false, 43, ~U[2026-10-13 09:41:41Z]] 14:24:59.603 [debug] QUERY OK source="sources" db=0.5ms idle=9.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:24:59.607 [debug] QUERY OK source="media_items" db=3.6ms 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-10-12 09:26:17Z], 43] 14:24:59.608 [debug] QUERY OK source="media_items" db=0.5ms idle=10.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/", "Patroncast S06E40 - Open Source reimplementations of proprietary software", "c0d05bbb-3433-4f55-a8c1-e9345d6ab71d", "DAMo6xrRgmo", 1726, false, "https://www.youtube.com/watch?v=DAMo6xrRgmo", 18, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Patroncast S06E40 - Open Source reimplementations of proprietary software.NA", false, false, false, 43, [], 97, ~U[2026-10-12 09:26:17Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 GET TLE MERCH\nSupport the channel AND get cool new gear: https://the-linux-experiment.creator-spring.com/", "Patroncast S06E40 - Open Source reimplementations of proprietary software", "DAMo6xrRgmo", 1726, false, "https://www.youtube.com/watch?v=DAMo6xrRgmo", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Patroncast S06E40 - Open Source reimplementations of proprietary software.NA", false, 43, ~U[2026-10-12 09:26:17Z]] 14:24:59.609 [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] 14:24:59.612 [debug] QUERY OK source="media_items" db=3.4ms 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-10-12 08:40:33Z], 43] 14:24:59.614 [debug] QUERY OK source="media_items" db=0.9ms 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 Torvalds builds branch for kernel using AI\n04:32 Ubuntu suffered a DDoS attack last week\n05:42 Ubuntu 26.10 adds media drivers to the AppCenter\n08:22 Valve releases CAD files for Steam Frame\n\nLinks:\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nUbuntu suffered a DDoS attack last week\nhttps://discourse.ubuntu.com/t/ddos-on-canonical-and-ubuntu-websites/89064\n\nUbuntu 26.10 adds media drivers to the AppCenter\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-app-center-add-ons-media\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/", "Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI", "0a273547-5311-4b63-a120-d920b9b950b6", "7D-HUxDUbbg", 603, false, "https://www.youtube.com/watch?v=7D-HUxDUbbg", 19, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI.NA", false, false, false, 43, [], 97, ~U[2026-10-12 08:40:33Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "👕 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 Torvalds builds branch for kernel using AI\n04:32 Ubuntu suffered a DDoS attack last week\n05:42 Ubuntu 26.10 adds media drivers to the AppCenter\n08:22 Valve releases CAD files for Steam Frame\n\nLinks:\nTorvalds' AI generated kernel patches & talks more about AI\nhttps://www.phoronix.com/news/Linus-Torvalds-Claude-Code\n\nhttps://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work\n\nUbuntu suffered a DDoS attack last week\nhttps://discourse.ubuntu.com/t/ddos-on-canonical-and-ubuntu-websites/89064\n\nUbuntu 26.10 adds media drivers to the AppCenter\nhttps://www.omgubuntu.co.uk/2026/10/ubuntu-app-center-add-ons-media\n\nValve releases CAD files for Steam Frame\nhttps://www.gamingonlinux.com/2026/10/steam-frame-cad-files-released-plus-an-update-on-reservation-waiting-times/", "Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI", "7D-HUxDUbbg", 603, false, "https://www.youtube.com/watch?v=7D-HUxDUbbg", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101200_Daily Linux News S03E196 - Linus Torvalds' AI generated kernel patches and talks more about AI.NA", false, 43, ~U[2026-10-12 08:40:33Z]] 14:24:59.614 [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] 14:24:59.618 [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-10-10 07:28:15Z], 43] 14:24:59.621 [debug] QUERY OK source="media_items" db=1.9ms 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" ["Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.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:38 Sponsor: Internxt\n02:12 Entire Adobe Suite supported with custom Wine now\n03:53 Open source implementations of the entire Adobe Suite\n07:35 Flathub now accepts apps that used AI, with disclosure\n10:18 Cosmic will reject LLM generated submissions\n11:35 Steam Frame now has 200 verified games\n13:03 More Kernel and AMD performance improvements\n15:43 Digital Ocean stops hosting credits for FOSS as they donate to Omacom\n17:50 Gentoo asking for help for hosting after sponsors dried up\n19:14 Orion stops development of its Linux browser\n20:45 EU Commission doesn't seem pleased with their Teams replacement\n22:31 Googlebooks don't look like they'll help Linux much\n24:23 Mesa looking at a more formal governance model\n26:53 Sponsor: Tuxedo Computers\n\nLinks\nEntire Adobe Suite supported with custom Wine now\nhttps://neutronproject.org/\n\nOpen source clean room implementations of the entire Adobe Suite\nhttps://github.com/storytold/photocraft\n\nFlathub now accepts apps that used AI, with disclosure\nhttps://linuxiac.com/flathub-reverses-ai-generated-app-ban-now-requires-disclosure/\n\nCosmic will reject LLM generated submissions\nhttps://linuxiac.com/cosmic-stops-accepting-llm-generated-content-in-pull-requests/\nhttps://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\n\nSteam Frame now has 200 verified games\nhttps://store.steampowered.com/greatonframe?tab=1\nhttps://www.gamingonlinux.com/2026/10/theres-now-over-200-steam-frame-verified-games/\n\nMore Kernel and AMD performance improvements\nhttps://www.phoronix.com/news/Linux-Better-Zswap-Performance\nhttps://www.phoronix.com/news/Boost-Recently-Busy-CPUs\n\nDigital Ocean stops hosting credits for FOSS as they donate to Omacom\nhttps://itsfoss.com/news/digitalocean-open-source-credits-end/\n\nGentoo asking for help for hosting after sponsors dried up\nhttps://itsfoss.com/news/gentoo-infrastructure-sponsors-call/\n\nOrion stops development of its Linux browser\nhttps://blog.kagi.com/update-orion-linux-windows\n\nEU Commission doesn't seem pleased with their Teams replacement\nhttps://www.politico.eu/article/eu-microsoft-teams-alternative-bad-reviews-element-pro/\n\nGooglebooks don't look like they'll help Linux much\nhttps://www.androidauthority.com/linux-apps-on-googlebook-3719936/\n\nMesa looking at a more formal governance model\nhttps://www.phoronix.com/news/Mesa-Governance-Model\n\n#linuxnews #linuxdesktop #linux", "Adobe suite on Linux (twice), Flathub says yes to AI - Linux Weekly News", "ba6bb240-a334-4fb4-b4f8-2d35273a8a52", "eAeT63x338Y", 1710, false, "https://www.youtube.com/watch?v=eAeT63x338Y", 20, "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101000_Adobe suite on Linux (twice), Flathub says yes to AI - Linux Weekly News.mp4", false, false, false, 43, [], 98, ~U[2026-10-10 07:28:15Z], ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], "Check out Internxt and get 85% off the fist month of your annual plan: https://internxt.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:38 Sponsor: Internxt\n02:12 Entire Adobe Suite supported with custom Wine now\n03:53 Open source implementations of the entire Adobe Suite\n07:35 Flathub now accepts apps that used AI, with disclosure\n10:18 Cosmic will reject LLM generated submissions\n11:35 Steam Frame now has 200 verified games\n13:03 More Kernel and AMD performance improvements\n15:43 Digital Ocean stops hosting credits for FOSS as they donate to Omacom\n17:50 Gentoo asking for help for hosting after sponsors dried up\n19:14 Orion stops development of its Linux browser\n20:45 EU Commission doesn't seem pleased with their Teams replacement\n22:31 Googlebooks don't look like they'll help Linux much\n24:23 Mesa looking at a more formal governance model\n26:53 Sponsor: Tuxedo Computers\n\nLinks\nEntire Adobe Suite supported with custom Wine now\nhttps://neutronproject.org/\n\nOpen source clean room implementations of the entire Adobe Suite\nhttps://github.com/storytold/photocraft\n\nFlathub now accepts apps that used AI, with disclosure\nhttps://linuxiac.com/flathub-reverses-ai-generated-app-ban-now-requires-disclosure/\n\nCosmic will reject LLM generated submissions\nhttps://linuxiac.com/cosmic-stops-accepting-llm-generated-content-in-pull-requests/\nhttps://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\n\nSteam Frame now has 200 verified games\nhttps://store.steampowered.com/greatonframe?tab=1\nhttps://www.gamingonlinux.com/2026/10/theres-now-over-200-steam-frame-verified-games/\n\nMore Kernel and AMD performance improvements\nhttps://www.phoronix.com/news/Linux-Better-Zswap-Performance\nhttps://www.phoronix.com/news/Boost-Recently-Busy-CPUs\n\nDigital Ocean stops hosting credits for FOSS as they donate to Omacom\nhttps://itsfoss.com/news/digitalocean-open-source-credits-end/\n\nGentoo asking for help for hosting after sponsors dried up\nhttps://itsfoss.com/news/gentoo-infrastructure-sponsors-call/\n\nOrion stops development of its Linux browser\nhttps://blog.kagi.com/update-orion-linux-windows\n\nEU Commission doesn't seem pleased with their Teams replacement\nhttps://www.politico.eu/article/eu-microsoft-teams-alternative-bad-reviews-element-pro/\n\nGooglebooks don't look like they'll help Linux much\nhttps://www.androidauthority.com/linux-apps-on-googlebook-3719936/\n\nMesa looking at a more formal governance model\nhttps://www.phoronix.com/news/Mesa-Governance-Model\n\n#linuxnews #linuxdesktop #linux", "Adobe suite on Linux (twice), Flathub says yes to AI - Linux Weekly News", "eAeT63x338Y", 1710, false, "https://www.youtube.com/watch?v=eAeT63x338Y", "/downloads/chris/tubes/The Linux Experiment_[UC5UAwBUum7CPN5buc-_N1Fw]/Season 2026/s2026e101000_Adobe suite on Linux (twice), Flathub says yes to AI - Linux Weekly News.mp4", false, 43, ~U[2026-10-10 07:28:15Z]] 14:24:59.621 [debug] QUERY OK source="sources" db=0.5ms idle=8.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z], 43] 14:24:59.627 [debug] QUERY OK source="media_items" db=5.5ms idle=7.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 14:24:59.897 [debug] QUERY OK source="tasks" db=0.9ms idle=3.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541622, 3647632, ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z]] 14:24:59.903 [info] {"args":{"id":3647632},"id":541622,"meta":{},"system_time":1793042699903590205,"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"]} 14:24:59.904 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3647632] 14:24:59.904 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:59.904 [debug] QUERY OK source="sources" db=0.5ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:24:59.905 [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] 14:24:59.905 [debug] QUERY OK source="media_items" db=0.4ms 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 [3647632] 14:24:59.907 [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" = ?) [3647632] 14:24:59.907 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:59.908 [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 [] 14:24:59.908 [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 [] 14:24:59.908 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:59.910 [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 [] 14:24:59.910 [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 [] 14:24:59.910 [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 [] 14:24:59.910 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/80/338053675a1aed25c80d21be151154ff5266ed12d3f1fc8add89469b5809a97a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:59.972 [debug] QUERY OK source="media_items" db=3.7ms 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")))) [43] 14:24:59.972 [debug] QUERY OK source="media_items" db=0.2ms idle=5.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [43] 14:24:59.973 [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" [541623, 43, ~U[2026-10-26 19:24:59Z], ~U[2026-10-26 19:24:59Z]] 14:24:59.974 [info] {"args":{"id":43},"id":541516,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":37052345,"event":"job:stop","queue_time":518560,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:24:59.974 [debug] Current batch of media processed. Will check again in 1000ms 14:25:00.299 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:25:00.605 [info] {"source":"oban","duration":7209,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:00.975 [debug] Current batch of media processed. Will check again in 1000ms 14:25:01.757 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/80/338053675a1aed25c80d21be151154ff5266ed12d3f1fc8add89469b5809a97a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:25:01.757 [error] yt-dlp download error for media item #3647632: "ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:25:01.758 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3647632},"id":541622,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1853738,"event":"job:exception","queue_time":902506,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:01.976 [debug] Current batch of media processed. Will check again in 1000ms 14:25:02.977 [debug] Current batch of media processed. Will check again in 1000ms 14:25:03.978 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get 20% off Mobbin Pro to help your agent design UIs that actually convert - https://mobbin.com/fireship\n\nKimi K3.1 just dropped as a free 3-trillion-parameter open-weight model that comes within one point of Opus on Terminal Bench. But is it *actually* good? Let's find out.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 385, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102600_This 3 trillion parameter model should be impossible....mp4", "id" => "G_em1hHPnXY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=G_em1hHPnXY", "playlist_index" => 1, "timestamp" => 1793040929, "title" => "This 3 trillion parameter model should be impossible...", "upload_date" => "20261026"} 14:25:03.979 [debug] QUERY OK source="sources" db=0.2ms idle=520.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:03.979 [debug] QUERY OK source="sources" db=0.3ms idle=520.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:03.981 [debug] QUERY OK source="media_items" db=1.5ms idle=521.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 18:55:29Z], 36] 14:25:03.989 [debug] QUERY OK source="media_items" db=8.0ms idle=522.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 20% off Mobbin Pro to help your agent design UIs that actually convert - https://mobbin.com/fireship\n\nKimi K3.1 just dropped as a free 3-trillion-parameter open-weight model that comes within one point of Opus on Terminal Bench. But is it *actually* good? Let's find out.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "This 3 trillion parameter model should be impossible...", "01e8a5a3-15b0-4e64-8b2d-d382b3c93690", "G_em1hHPnXY", 385, false, "https://www.youtube.com/watch?v=G_em1hHPnXY", 1, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102600_This 3 trillion parameter model should be impossible....mp4", false, false, false, 36, [], 99, ~U[2026-10-26 18:55:29Z], ~U[2026-10-26 19:25:03Z], ~U[2026-10-26 19:25:03Z], "Get 20% off Mobbin Pro to help your agent design UIs that actually convert - https://mobbin.com/fireship\n\nKimi K3.1 just dropped as a free 3-trillion-parameter open-weight model that comes within one point of Opus on Terminal Bench. But is it *actually* good? Let's find out.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "This 3 trillion parameter model should be impossible...", "G_em1hHPnXY", 385, false, "https://www.youtube.com/watch?v=G_em1hHPnXY", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102600_This 3 trillion parameter model should be impossible....mp4", false, 36, ~U[2026-10-26 18:55:29Z]] 14:25:03.990 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:03.990 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:03.990 [debug] QUERY OK source="media_items" db=0.2ms idle=10.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4246854] 14:25:03.990 [info] Kicking off download for media item #4246854 (G_em1hHPnXY) 14:25:03.994 [debug] QUERY OK source="tasks" db=0.2ms idle=3.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541624, 4246854, ~U[2026-10-26 19:25:03Z], ~U[2026-10-26 19:25:03Z]] 14:25:03.994 [debug] Current batch of media processed. Will check again in 1000ms 14:25:04.000 [info] {"args":{"id":4246854},"id":541624,"meta":{},"system_time":1793042704000246419,"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"]} 14:25:04.000 [debug] QUERY OK source="media_items" db=0.1ms idle=9.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4246854] 14:25:04.000 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:04.001 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [36] 14:25:04.002 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 14:25:04.002 [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 [4246854] 14:25:04.003 [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" = ?) [4246854] 14:25:04.004 [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] 14:25:04.004 [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 [] 14:25:04.004 [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 [] 14:25:04.004 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:04.005 [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 [] 14:25:04.006 [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 [] 14:25:04.006 [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 [] 14:25:04.006 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G_em1hHPnXY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/a0/b8a00019e2b457b0a0cd0b6782c45b2393105873e97bb834fb51a3b3b7874e8b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:04.994 [debug] Current batch of media processed. Will check again in 1000ms 14:25:05.995 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Semgrep Guardian catches the risky code and packages your agent introduces. Try it free for 60 days: https://semgrep.dev/onboarding/guardian?offer=fireship_202610&utm_source=fireship&utm_medium=referral&utm_campaign=2026-10_fireship_guardian_campaign\n\nPHP2Shell, a backdoored Python package with 23 million weekly downloads, a GitLab bug dating back to 2014, rogue AI agents inside bank accounts, and a certificate authority generating HTTPS keys from numbers under 256 — let's break down the craziest week in the history of the internet.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 363, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102300_The most vulnerable week in internet history....mp4", "id" => "SMGg7iisHmc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SMGg7iisHmc", "playlist_index" => 2, "timestamp" => 1792779598, "title" => "The most vulnerable week in internet history...", "upload_date" => "20261023"} 14:25:05.996 [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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 14:25:05.996 [debug] QUERY OK source="sources" db=0.1ms idle=537.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:05.998 [debug] QUERY OK source="media_items" db=1.4ms idle=538.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-23 18:19:58Z], 36] 14:25:05.999 [debug] QUERY OK source="media_items" db=0.7ms 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" ["Semgrep Guardian catches the risky code and packages your agent introduces. Try it free for 60 days: https://semgrep.dev/onboarding/guardian?offer=fireship_202610&utm_source=fireship&utm_medium=referral&utm_campaign=2026-10_fireship_guardian_campaign\n\nPHP2Shell, a backdoored Python package with 23 million weekly downloads, a GitLab bug dating back to 2014, rogue AI agents inside bank accounts, and a certificate authority generating HTTPS keys from numbers under 256 — let's break down the craziest week in the history of the internet.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The most vulnerable week in internet history...", "e7712309-bb47-477c-9c4e-974a16f570c2", "SMGg7iisHmc", 363, false, "https://www.youtube.com/watch?v=SMGg7iisHmc", 2, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102300_The most vulnerable week in internet history....mp4", false, false, false, 36, [], 98, ~U[2026-10-23 18:19:58Z], ~U[2026-10-26 19:25:05Z], ~U[2026-10-26 19:25:05Z], "Semgrep Guardian catches the risky code and packages your agent introduces. Try it free for 60 days: https://semgrep.dev/onboarding/guardian?offer=fireship_202610&utm_source=fireship&utm_medium=referral&utm_campaign=2026-10_fireship_guardian_campaign\n\nPHP2Shell, a backdoored Python package with 23 million weekly downloads, a GitLab bug dating back to 2014, rogue AI agents inside bank accounts, and a certificate authority generating HTTPS keys from numbers under 256 — let's break down the craziest week in the history of the internet.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The most vulnerable week in internet history...", "SMGg7iisHmc", 363, false, "https://www.youtube.com/watch?v=SMGg7iisHmc", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102300_The most vulnerable week in internet history....mp4", false, 36, ~U[2026-10-23 18:19:58Z]] 14:25:05.999 [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] 14:25:05.999 [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] 14:25:06.000 [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 [4223078] 14:25:06.000 [debug] Current batch of media processed. Will check again in 1000ms 14:25:07.000 [debug] Current batch of media processed. Will check again in 1000ms 14:25:07.394 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G_em1hHPnXY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/a0/b8a00019e2b457b0a0cd0b6782c45b2393105873e97bb834fb51a3b3b7874e8b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:07.394 [debug] Running yt-dlp command for action: download 14:25:07.394 [debug] QUERY OK source="settings" db=0.1ms idle=1395.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:07.394 [debug] QUERY OK source="settings" db=0.1ms idle=1395.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:07.394 [debug] QUERY OK source="settings" db=0.0ms idle=1394.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:07.395 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G_em1hHPnXY --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/Fireship_[UCsBjURrPoezykLs9EqgamOA]/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/Fireship_[UCsBjURrPoezykLs9EqgamOA]/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/2f/a2/2fa22b32ba3ddcec6faf10d4e0a8c47216cbe148909f5bdc6685cc03f9d93eb2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:08.001 [debug] Current batch of media processed. Will check again in 1000ms 14:25:09.002 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get real-time search data from a single API. Fireship viewers get 1,000 free searches: https://serpapi.com/fireship\n\nYes the very foundations of the internet are currently crumbling to pieces, but before we look at that, let's distract ourselves with the 7 common programmer stereotypes that still exist.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 355, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102200_The last real programmers are dying out....mp4", "id" => "zv6B6PQOuHE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zv6B6PQOuHE", "playlist_index" => 3, "timestamp" => 1792681771, "title" => "The last real programmers are dying out...", "upload_date" => "20261022"} 14:25:09.003 [debug] QUERY OK source="sources" db=0.2ms idle=1034.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:09.003 [debug] QUERY OK source="sources" db=0.1ms idle=544.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:09.005 [debug] QUERY OK source="media_items" db=1.5ms idle=545.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 15:09:31Z], 36] 14:25:09.007 [debug] QUERY OK source="media_items" db=1.7ms idle=546.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 real-time search data from a single API. Fireship viewers get 1,000 free searches: https://serpapi.com/fireship\n\nYes the very foundations of the internet are currently crumbling to pieces, but before we look at that, let's distract ourselves with the 7 common programmer stereotypes that still exist.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The last real programmers are dying out...", "3031dd9e-0a9e-4401-90e6-1b8eb4179fc5", "zv6B6PQOuHE", 355, false, "https://www.youtube.com/watch?v=zv6B6PQOuHE", 3, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102200_The last real programmers are dying out....mp4", false, false, false, 36, [], 98, ~U[2026-10-22 15:09:31Z], ~U[2026-10-26 19:25:09Z], ~U[2026-10-26 19:25:09Z], "Get real-time search data from a single API. Fireship viewers get 1,000 free searches: https://serpapi.com/fireship\n\nYes the very foundations of the internet are currently crumbling to pieces, but before we look at that, let's distract ourselves with the 7 common programmer stereotypes that still exist.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The last real programmers are dying out...", "zv6B6PQOuHE", 355, false, "https://www.youtube.com/watch?v=zv6B6PQOuHE", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102200_The last real programmers are dying out....mp4", false, 36, ~U[2026-10-22 15:09:31Z]] 14:25:09.007 [debug] QUERY OK source="sources" db=0.1ms idle=38.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:25:09.008 [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] 14:25:09.008 [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 [4214314] 14:25:09.008 [debug] Current batch of media processed. Will check again in 1000ms 14:25:10.008 [debug] Current batch of media processed. Will check again in 1000ms 14:25:11.009 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Macroscope can auto-approve your team's PRs safely. Try it here: https://macroscope.com/?utm_source=fireship\n\nGoogle’s new model claims to beat GPT-6 and Opus 5.5, so I took them all for a test drive. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 393, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102000_Did Google just dethrone OpenAI and Anthropic?.mp4", "id" => "b2tjnxX8IHU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=b2tjnxX8IHU", "playlist_index" => 4, "timestamp" => 1792513263, "title" => "Did Google just dethrone OpenAI and Anthropic?", "upload_date" => "20261020"} 14:25:11.010 [debug] QUERY OK source="sources" db=0.1ms idle=551.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:11.010 [debug] QUERY OK source="sources" db=0.1ms idle=551.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:11.012 [debug] QUERY OK source="media_items" db=1.4ms idle=551.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-20 16:21:03Z], 36] 14:25:11.013 [debug] QUERY OK source="media_items" db=0.6ms idle=553.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" ["Macroscope can auto-approve your team's PRs safely. Try it here: https://macroscope.com/?utm_source=fireship\n\nGoogle’s new model claims to beat GPT-6 and Opus 5.5, so I took them all for a test drive. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did Google just dethrone OpenAI and Anthropic?", "b26a1fda-16a4-42af-b8a3-324eeb640645", "b2tjnxX8IHU", 393, false, "https://www.youtube.com/watch?v=b2tjnxX8IHU", 4, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102000_Did Google just dethrone OpenAI and Anthropic?.mp4", false, false, false, 36, [], 98, ~U[2026-10-20 16:21:03Z], ~U[2026-10-26 19:25:11Z], ~U[2026-10-26 19:25:11Z], "Macroscope can auto-approve your team's PRs safely. Try it here: https://macroscope.com/?utm_source=fireship\n\nGoogle’s new model claims to beat GPT-6 and Opus 5.5, so I took them all for a test drive. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did Google just dethrone OpenAI and Anthropic?", "b2tjnxX8IHU", 393, false, "https://www.youtube.com/watch?v=b2tjnxX8IHU", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102000_Did Google just dethrone OpenAI and Anthropic?.mp4", false, 36, ~U[2026-10-20 16:21:03Z]] 14:25:11.013 [debug] QUERY OK source="sources" db=0.1ms idle=41.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:25:11.013 [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] 14:25:11.013 [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 [4199416] 14:25:11.013 [debug] Current batch of media processed. Will check again in 1000ms 14:25:12.014 [debug] Current batch of media processed. Will check again in 1000ms 14:25:13.015 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Every JetBrains account now comes with a free coding model called Junie Lite. Try it: https://jb.gg/JunieLite\n\nCloudflare just acquired Deno and the creator of Node.js is finally admitting that reimplementing it was a mistake. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 340, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101500_The runtime wars are over... and Node won.mp4", "id" => "l3L_lETiSzc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=l3L_lETiSzc", "playlist_index" => 5, "timestamp" => 1792085715, "title" => "The runtime wars are over... and Node won", "upload_date" => "20261015"} 14:25:13.016 [debug] QUERY OK source="sources" db=0.1ms idle=557.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:13.016 [debug] QUERY OK source="sources" db=0.1ms idle=557.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:13.018 [debug] QUERY OK source="media_items" db=1.4ms idle=557.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 17:35:15Z], 36] 14:25:13.018 [debug] QUERY OK source="media_items" db=0.6ms idle=559.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" ["Every JetBrains account now comes with a free coding model called Junie Lite. Try it: https://jb.gg/JunieLite\n\nCloudflare just acquired Deno and the creator of Node.js is finally admitting that reimplementing it was a mistake. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The runtime wars are over... and Node won", "b872d392-73fc-4d02-a8f3-6b7ad03d0789", "l3L_lETiSzc", 340, false, "https://www.youtube.com/watch?v=l3L_lETiSzc", 5, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101500_The runtime wars are over... and Node won.mp4", false, false, false, 36, [], 98, ~U[2026-10-15 17:35:15Z], ~U[2026-10-26 19:25:13Z], ~U[2026-10-26 19:25:13Z], "Every JetBrains account now comes with a free coding model called Junie Lite. Try it: https://jb.gg/JunieLite\n\nCloudflare just acquired Deno and the creator of Node.js is finally admitting that reimplementing it was a mistake. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The runtime wars are over... and Node won", "l3L_lETiSzc", 340, false, "https://www.youtube.com/watch?v=l3L_lETiSzc", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101500_The runtime wars are over... and Node won.mp4", false, 36, ~U[2026-10-15 17:35:15Z]] 14:25:13.019 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:13.019 [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] 14:25:13.019 [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 [4159745] 14:25:13.020 [debug] Current batch of media processed. Will check again in 1000ms 14:25:14.020 [debug] Current batch of media processed. Will check again in 1000ms 14:25:15.021 [debug] Current batch of media processed. Will check again in 1000ms 14:25:16.022 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Run GitHub Actions 2x faster and build with Codesmith at https://www.blacksmith.sh/\n\nAn OpenAI engineer built a wiretap with his wife’s ChatGPT account, hid it in toilet paper behind the executive boardroom TV, and lasted 48 hours before getting caught. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 306, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101400_OpenAI’s lead engineer was secretly a spy....mp4", "id" => "QZVzuq28eFw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QZVzuq28eFw", "playlist_index" => 6, "timestamp" => 1792000090, "title" => "OpenAI’s lead engineer was secretly a spy...", "upload_date" => "20261014"} 14:25:16.023 [debug] QUERY OK source="sources" db=0.2ms idle=1564.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:16.023 [debug] QUERY OK source="sources" db=0.1ms idle=1564.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:16.025 [debug] QUERY OK source="media_items" db=1.4ms idle=1565.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 17:48:10Z], 36] 14:25:16.026 [debug] QUERY OK source="media_items" db=0.6ms idle=1049.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" ["Run GitHub Actions 2x faster and build with Codesmith at https://www.blacksmith.sh/\n\nAn OpenAI engineer built a wiretap with his wife’s ChatGPT account, hid it in toilet paper behind the executive boardroom TV, and lasted 48 hours before getting caught. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "OpenAI’s lead engineer was secretly a spy...", "c3020ddc-584b-4380-989d-88d4a93b1d5c", "QZVzuq28eFw", 306, false, "https://www.youtube.com/watch?v=QZVzuq28eFw", 6, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101400_OpenAI’s lead engineer was secretly a spy....mp4", false, false, false, 36, [], 98, ~U[2026-10-14 17:48:10Z], ~U[2026-10-26 19:25:16Z], ~U[2026-10-26 19:25:16Z], "Run GitHub Actions 2x faster and build with Codesmith at https://www.blacksmith.sh/\n\nAn OpenAI engineer built a wiretap with his wife’s ChatGPT account, hid it in toilet paper behind the executive boardroom TV, and lasted 48 hours before getting caught. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "OpenAI’s lead engineer was secretly a spy...", "QZVzuq28eFw", 306, false, "https://www.youtube.com/watch?v=QZVzuq28eFw", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101400_OpenAI’s lead engineer was secretly a spy....mp4", false, 36, ~U[2026-10-14 17:48:10Z]] 14:25:16.026 [debug] QUERY OK source="sources" db=0.1ms idle=49.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:16.026 [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] 14:25:16.027 [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 [4151948] 14:25:16.027 [debug] Current batch of media processed. Will check again in 1000ms 14:25:17.027 [debug] Current batch of media processed. Will check again in 1000ms 14:25:18.028 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Every agent needs proper tools. Apify MCP gives yours thousands of them, ready to run. Use code FIRESHIP25 for $25 in free credits: https://apify.it/4ygURHS\n\nA developer just rewrote seven Adobe apps in Rust and open-sourced them for free. Let's test them out.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 355, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101200_Every app on Earth is now open source... whether it likes it or not.mp4", "id" => "wajoP_5Cpw8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wajoP_5Cpw8", "playlist_index" => 7, "timestamp" => 1791832523, "title" => "Every app on Earth is now open source... whether it likes it or not", "upload_date" => "20261012"} 14:25:18.029 [debug] QUERY OK source="sources" db=0.1ms 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" IN (?)) [36] 14:25:18.029 [debug] QUERY OK source="sources" db=0.1ms idle=570.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:18.031 [debug] QUERY OK source="media_items" db=1.5ms idle=570.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 19:15:23Z], 36] 14:25:18.032 [debug] QUERY OK source="media_items" db=0.6ms idle=572.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" ["Every agent needs proper tools. Apify MCP gives yours thousands of them, ready to run. Use code FIRESHIP25 for $25 in free credits: https://apify.it/4ygURHS\n\nA developer just rewrote seven Adobe apps in Rust and open-sourced them for free. Let's test them out.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Every app on Earth is now open source... whether it likes it or not", "89e499cb-0faa-4c40-8652-dc95fb04b042", "wajoP_5Cpw8", 355, false, "https://www.youtube.com/watch?v=wajoP_5Cpw8", 7, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101200_Every app on Earth is now open source... whether it likes it or not.mp4", false, false, false, 36, [], 98, ~U[2026-10-12 19:15:23Z], ~U[2026-10-26 19:25:18Z], ~U[2026-10-26 19:25:18Z], "Every agent needs proper tools. Apify MCP gives yours thousands of them, ready to run. Use code FIRESHIP25 for $25 in free credits: https://apify.it/4ygURHS\n\nA developer just rewrote seven Adobe apps in Rust and open-sourced them for free. Let's test them out.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Every app on Earth is now open source... whether it likes it or not", "wajoP_5Cpw8", 355, false, "https://www.youtube.com/watch?v=wajoP_5Cpw8", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101200_Every app on Earth is now open source... whether it likes it or not.mp4", false, 36, ~U[2026-10-12 19:15:23Z]] 14:25:18.032 [debug] QUERY OK source="sources" db=0.1ms idle=53.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:25:18.032 [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] 14:25:18.033 [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 [4136892] 14:25:18.033 [debug] Current batch of media processed. Will check again in 1000ms 14:25:18.987 [info] {"args":{"id":3647632},"id":541622,"meta":{},"system_time":1793042718987249802,"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"]} 14:25:18.987 [debug] QUERY OK source="media_items" db=0.1ms idle=955.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" = ?) [3647632] 14:25:18.987 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:18.987 [debug] QUERY OK source="sources" db=0.1ms idle=955.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:25:18.988 [debug] QUERY OK source="media_profiles" db=0.1ms idle=954.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] 14:25:18.988 [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 [3647632] 14:25:18.990 [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" = ?) [3647632] 14:25:18.990 [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] 14:25:18.990 [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 [] 14:25:18.990 [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 [] 14:25:18.991 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:18.991 [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 [] 14:25:18.992 [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 [] 14:25:18.992 [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 [] 14:25:18.992 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/19/7b196a5ee950dfda10193d83dad8c5e205c8e8946917f80df78d92b784dae025.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:19.033 [debug] Current batch of media processed. Will check again in 1000ms 14:25:20.034 [debug] Current batch of media processed. Will check again in 1000ms 14:25:20.865 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/19/7b196a5ee950dfda10193d83dad8c5e205c8e8946917f80df78d92b784dae025.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:25:20.865 [error] yt-dlp download error for media item #3647632: "ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:25:20.865 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3647632},"id":541622,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1878004,"event":"job:exception","queue_time":229195,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:21.035 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "KERNEL is the simplest way to let your agents act on any website. Use code: FIRESHIP to get a free upgrade to the Hobbyist tier ($30 value) at https://kernel.sh/fireship\n\nMistral, Reflection AI, and Moonshot all made big moves in the open-weight race this week. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 370, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100700_A $6.3 billion open-weight model just got embarrassed by the French....mp4", "id" => "WrCjAAl9okA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WrCjAAl9okA", "playlist_index" => 8, "timestamp" => 1791404667, "title" => "A $6.3 billion open-weight model just got embarrassed by the French...", "upload_date" => "20261007"} 14:25:21.036 [debug] QUERY OK source="sources" db=0.2ms idle=577.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:21.036 [debug] QUERY OK source="sources" db=0.1ms idle=577.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:21.038 [debug] QUERY OK source="media_items" db=1.5ms idle=171.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-07 20:24:27Z], 36] 14:25:21.039 [debug] QUERY OK source="media_items" db=0.6ms idle=166.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 is the simplest way to let your agents act on any website. Use code: FIRESHIP to get a free upgrade to the Hobbyist tier ($30 value) at https://kernel.sh/fireship\n\nMistral, Reflection AI, and Moonshot all made big moves in the open-weight race this week. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "A $6.3 billion open-weight model just got embarrassed by the French...", "04b0979b-c4d3-496d-866d-674e847eeaed", "WrCjAAl9okA", 370, false, "https://www.youtube.com/watch?v=WrCjAAl9okA", 8, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100700_A $6.3 billion open-weight model just got embarrassed by the French....mp4", false, false, false, 36, [], 98, ~U[2026-10-07 20:24:27Z], ~U[2026-10-26 19:25:21Z], ~U[2026-10-26 19:25:21Z], "KERNEL is the simplest way to let your agents act on any website. Use code: FIRESHIP to get a free upgrade to the Hobbyist tier ($30 value) at https://kernel.sh/fireship\n\nMistral, Reflection AI, and Moonshot all made big moves in the open-weight race this week. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "A $6.3 billion open-weight model just got embarrassed by the French...", "WrCjAAl9okA", 370, false, "https://www.youtube.com/watch?v=WrCjAAl9okA", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100700_A $6.3 billion open-weight model just got embarrassed by the French....mp4", false, 36, ~U[2026-10-07 20:24:27Z]] 14:25:21.039 [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" = ?) [36] 14:25:21.039 [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] 14:25:21.040 [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 [4099313] 14:25:21.040 [debug] Current batch of media processed. Will check again in 1000ms 14:25:22.040 [debug] Current batch of media processed. Will check again in 1000ms 14:25:23.041 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Namespace is actually the fastest way to run your GitHub Actions (and more). Try it for free - https://namespace.so/github-actions\n\nPewDiePie is building Ajax, an uncensored AI model he trained at home after OpenAI banned him twice for distillation. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 345, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100500_PewDiePie is setting AI free... and OpenAI is furious.mp4", "id" => "_5p1_TNSWqQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_5p1_TNSWqQ", "playlist_index" => 9, "timestamp" => 1791232484, "title" => "PewDiePie is setting AI free... and OpenAI is furious", "upload_date" => "20261005"} 14:25:23.042 [debug] QUERY OK source="sources" db=0.1ms 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 (?)) [36] 14:25:23.042 [debug] QUERY OK source="sources" db=0.0ms idle=583.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:23.044 [debug] QUERY OK source="media_items" db=1.4ms idle=583.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-05 20:34:44Z], 36] 14:25:23.045 [debug] QUERY OK source="media_items" db=0.8ms idle=585.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" ["Namespace is actually the fastest way to run your GitHub Actions (and more). Try it for free - https://namespace.so/github-actions\n\nPewDiePie is building Ajax, an uncensored AI model he trained at home after OpenAI banned him twice for distillation. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "PewDiePie is setting AI free... and OpenAI is furious", "483fffe0-5173-4269-8a4d-5f3a007bdb2f", "_5p1_TNSWqQ", 345, false, "https://www.youtube.com/watch?v=_5p1_TNSWqQ", 9, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100500_PewDiePie is setting AI free... and OpenAI is furious.mp4", false, false, false, 36, [], 98, ~U[2026-10-05 20:34:44Z], ~U[2026-10-26 19:25:23Z], ~U[2026-10-26 19:25:23Z], "Namespace is actually the fastest way to run your GitHub Actions (and more). Try it for free - https://namespace.so/github-actions\n\nPewDiePie is building Ajax, an uncensored AI model he trained at home after OpenAI banned him twice for distillation. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "PewDiePie is setting AI free... and OpenAI is furious", "_5p1_TNSWqQ", 345, false, "https://www.youtube.com/watch?v=_5p1_TNSWqQ", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100500_PewDiePie is setting AI free... and OpenAI is furious.mp4", false, 36, ~U[2026-10-05 20:34:44Z]] 14:25:23.045 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [36] 14:25:23.045 [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] 14:25:23.046 [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 [4083485] 14:25:23.046 [debug] Current batch of media processed. Will check again in 1000ms 14:25:24.046 [debug] Current batch of media processed. Will check again in 1000ms 14:25:25.047 [debug] Current batch of media processed. Will check again in 1000ms 14:25:26.048 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Try the faster, open-weight version of Jev at https://fastino.ai/. Use code: FIRESHIPFIVE to get free credits.\n\nIn this video we'll cover everything you missed at OpenAI Dev Day 2026. Let's dive in.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 347, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100100_The one OpenAI announcement that can actually make you money....mp4", "id" => "No-JPdFvYWU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=No-JPdFvYWU", "playlist_index" => 10, "timestamp" => 1790883254, "title" => "The one OpenAI announcement that can actually make you money...", "upload_date" => "20261001"} 14:25:26.049 [debug] QUERY OK source="sources" db=0.2ms idle=1590.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [36] 14:25:26.049 [debug] QUERY OK source="sources" db=0.1ms idle=1590.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:26.051 [debug] QUERY OK source="media_items" db=1.5ms idle=1590.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-01 19:34:14Z], 36] 14:25:26.052 [debug] QUERY OK source="media_items" db=0.8ms idle=1063.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 the faster, open-weight version of Jev at https://fastino.ai/. Use code: FIRESHIPFIVE to get free credits.\n\nIn this video we'll cover everything you missed at OpenAI Dev Day 2026. Let's dive in.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The one OpenAI announcement that can actually make you money...", "791849b4-0c29-4f55-9e58-da042455eace", "No-JPdFvYWU", 347, false, "https://www.youtube.com/watch?v=No-JPdFvYWU", 10, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100100_The one OpenAI announcement that can actually make you money....mp4", false, false, false, 36, [], 98, ~U[2026-10-01 19:34:14Z], ~U[2026-10-26 19:25:26Z], ~U[2026-10-26 19:25:26Z], "Try the faster, open-weight version of Jev at https://fastino.ai/. Use code: FIRESHIPFIVE to get free credits.\n\nIn this video we'll cover everything you missed at OpenAI Dev Day 2026. Let's dive in.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The one OpenAI announcement that can actually make you money...", "No-JPdFvYWU", 347, false, "https://www.youtube.com/watch?v=No-JPdFvYWU", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100100_The one OpenAI announcement that can actually make you money....mp4", false, 36, ~U[2026-10-01 19:34:14Z]] 14:25:26.052 [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] 14:25:26.052 [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] 14:25:26.053 [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 [4051908] 14:25:26.053 [debug] Current batch of media processed. Will check again in 1000ms 14:25:27.054 [debug] Current batch of media processed. Will check again in 1000ms 14:25:28.055 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Check out the OpenAPPA repo: https://github.com/archestra-ai/OpenAPPA\n\nA new open source project claims to have fixed the rogue agent problem. Let's dive in. \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/s2026e093000_Did a 50 year old military secret just solve agent prompt injection?.mp4", "id" => "I_KVMFrUtPk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=I_KVMFrUtPk", "playlist_index" => 11, "timestamp" => 1790788603, "title" => "Did a 50 year old military secret just solve agent prompt injection?", "upload_date" => "20260930"} 14:25:28.056 [debug] QUERY OK source="sources" db=0.2ms idle=597.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:28.056 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:28.058 [debug] QUERY OK source="media_items" db=1.8ms idle=598.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-30 17:16:43Z], 36] 14:25:28.059 [debug] QUERY OK source="media_items" db=0.8ms idle=600.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 the OpenAPPA repo: https://github.com/archestra-ai/OpenAPPA\n\nA new open source project claims to have fixed the rogue agent problem. Let's dive in. \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did a 50 year old military secret just solve agent prompt injection?", "5b6c5e4f-dcfa-4a17-b7e5-0628deff123c", "I_KVMFrUtPk", 303, false, "https://www.youtube.com/watch?v=I_KVMFrUtPk", 11, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e093000_Did a 50 year old military secret just solve agent prompt injection?.mp4", false, false, false, 36, [], 98, ~U[2026-09-30 17:16:43Z], ~U[2026-10-26 19:25:28Z], ~U[2026-10-26 19:25:28Z], "Check out the OpenAPPA repo: https://github.com/archestra-ai/OpenAPPA\n\nA new open source project claims to have fixed the rogue agent problem. Let's dive in. \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did a 50 year old military secret just solve agent prompt injection?", "I_KVMFrUtPk", 303, false, "https://www.youtube.com/watch?v=I_KVMFrUtPk", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e093000_Did a 50 year old military secret just solve agent prompt injection?.mp4", false, 36, ~U[2026-09-30 17:16:43Z]] 14:25:28.060 [debug] QUERY OK source="sources" db=0.1ms idle=67.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:25:28.060 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:28.060 [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 [4043187] 14:25:28.061 [debug] Current batch of media processed. Will check again in 1000ms 14:25:29.014 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G_em1hHPnXY --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/Fireship_[UCsBjURrPoezykLs9EqgamOA]/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/Fireship_[UCsBjURrPoezykLs9EqgamOA]/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/2f/a2/2fa22b32ba3ddcec6faf10d4e0a8c47216cbe148909f5bdc6685cc03f9d93eb2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:29.033 [debug] Running yt-dlp command for action: download_thumbnail 14:25:29.038 [debug] QUERY OK source="settings" db=0.1ms idle=978.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:29.038 [debug] QUERY OK source="settings" db=0.0ms idle=978.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:29.038 [debug] QUERY OK source="settings" db=0.1ms idle=977.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:29.038 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G_em1hHPnXY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/4246854/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/e2/5f/e25f4f475791dfdd0cf64276407022a48667e22bb3a8a643dd295fcfffb56cdf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:29.061 [debug] Current batch of media processed. Will check again in 1000ms 14:25:30.062 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "CodeRabbit Triage prioritizes all your team's pull requests for you. Try it free: https://coderabbit.link/fireship-014\n\nDHH told 1,200 Rails developers that writing code by hand is over... so let's find out which programming skills are actually still worth having.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 403, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092800_DHH has gone completely off the rails....mp4", "id" => "OuNKBjuV7A4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OuNKBjuV7A4", "playlist_index" => 12, "timestamp" => 1790623679, "title" => "DHH has gone completely off the rails...", "upload_date" => "20260928"} 14:25:30.063 [debug] QUERY OK source="sources" db=0.1ms idle=1024.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:30.063 [debug] QUERY OK source="sources" db=0.1ms idle=1024.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:30.065 [debug] QUERY OK source="media_items" db=1.6ms idle=1025.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-28 19:27:59Z], 36] 14:25:30.068 [debug] QUERY OK source="media_items" db=2.3ms idle=606.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" ["CodeRabbit Triage prioritizes all your team's pull requests for you. Try it free: https://coderabbit.link/fireship-014\n\nDHH told 1,200 Rails developers that writing code by hand is over... so let's find out which programming skills are actually still worth having.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "DHH has gone completely off the rails...", "2543652a-1d52-4116-ba90-7670487af3a9", "OuNKBjuV7A4", 403, false, "https://www.youtube.com/watch?v=OuNKBjuV7A4", 12, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092800_DHH has gone completely off the rails....mp4", false, false, false, 36, [], 98, ~U[2026-09-28 19:27:59Z], ~U[2026-10-26 19:25:30Z], ~U[2026-10-26 19:25:30Z], "CodeRabbit Triage prioritizes all your team's pull requests for you. Try it free: https://coderabbit.link/fireship-014\n\nDHH told 1,200 Rails developers that writing code by hand is over... so let's find out which programming skills are actually still worth having.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "DHH has gone completely off the rails...", "OuNKBjuV7A4", 403, false, "https://www.youtube.com/watch?v=OuNKBjuV7A4", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092800_DHH has gone completely off the rails....mp4", false, 36, ~U[2026-09-28 19:27:59Z]] 14:25:30.068 [debug] QUERY OK source="sources" db=0.1ms idle=72.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:25:30.068 [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] 14:25:30.069 [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 [4028316] 14:25:30.069 [debug] Current batch of media processed. Will check again in 1000ms 14:25:30.613 [info] {"source":"oban","duration":7371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:31.069 [debug] Current batch of media processed. Will check again in 1000ms 14:25:32.071 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get $100 in Hyperagent bonus credits when you sign up for a paid plan - https://www.hyperagent.com/fireship100\n\nIn this video we break down everything from Meta Connect 2026. Let's dive in. \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 340, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092500_Meta is pivoting again... everything you missed from Connect 2026.mp4", "id" => "c1rPlzxSZ8E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c1rPlzxSZ8E", "playlist_index" => 13, "timestamp" => 1790364152, "title" => "Meta is pivoting again... everything you missed from Connect 2026", "upload_date" => "20260925"} 14:25:32.071 [debug] QUERY OK source="sources" db=0.2ms idle=1075.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:32.072 [debug] QUERY OK source="sources" db=0.1ms idle=613.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:32.073 [debug] QUERY OK source="media_items" db=1.5ms idle=613.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-25 19:22:32Z], 36] 14:25:32.075 [debug] QUERY OK source="media_items" db=1.5ms idle=615.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 $100 in Hyperagent bonus credits when you sign up for a paid plan - https://www.hyperagent.com/fireship100\n\nIn this video we break down everything from Meta Connect 2026. Let's dive in. \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Meta is pivoting again... everything you missed from Connect 2026", "751950b6-d1c6-4ccb-9367-76f7c1eb4bf0", "c1rPlzxSZ8E", 340, false, "https://www.youtube.com/watch?v=c1rPlzxSZ8E", 13, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092500_Meta is pivoting again... everything you missed from Connect 2026.mp4", false, false, false, 36, [], 98, ~U[2026-09-25 19:22:32Z], ~U[2026-10-26 19:25:32Z], ~U[2026-10-26 19:25:32Z], "Get $100 in Hyperagent bonus credits when you sign up for a paid plan - https://www.hyperagent.com/fireship100\n\nIn this video we break down everything from Meta Connect 2026. Let's dive in. \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Meta is pivoting again... everything you missed from Connect 2026", "c1rPlzxSZ8E", 340, false, "https://www.youtube.com/watch?v=c1rPlzxSZ8E", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092500_Meta is pivoting again... everything you missed from Connect 2026.mp4", false, 36, ~U[2026-09-25 19:22:32Z]] 14:25:32.076 [debug] QUERY OK source="sources" db=0.6ms idle=78.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:32.076 [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] 14:25:32.077 [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 [4004656] 14:25:32.077 [debug] Current batch of media processed. Will check again in 1000ms 14:25:32.912 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=G_em1hHPnXY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/4246854/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/e2/5f/e25f4f475791dfdd0cf64276407022a48667e22bb3a8a643dd295fcfffb56cdf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:32.912 [debug] QUERY OK db=0.0ms idle=838.7ms begin [] 14:25:32.913 [debug] QUERY OK source="media_items" db=0.8ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [322, ~U[2026-10-26 19:25:29Z], "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102699_This 3 trillion parameter model should be impossible....mp4", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102699_This 3 trillion parameter model should be impossible....info.json", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102699_This 3 trillion parameter model should be impossible....nfo", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102699_This 3 trillion parameter model should be impossible....mp4", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102699_This 3 trillion parameter model should be impossible...-thumb.jpg", ~U[2026-10-26 19:25:32Z], 4246854] 14:25:32.915 [debug] QUERY OK source="media_metadata" db=1.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/4246854/metadata.json.gz", "/config/metadata/media_items/4246854/thumbnail.jpg", 4246854, ~U[2026-10-26 19:25:32Z], ~U[2026-10-26 19:25:32Z]] 14:25:32.915 [debug] QUERY OK db=0.3ms commit [] 14:25:32.916 [debug] QUERY OK source="media_items" db=0.5ms idle=840.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [67166312, ~U[2026-10-26 19:25:32Z], 4246854] 14:25:32.916 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:32.917 [info] {"args":{"id":4246854},"id":541624,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":28916575,"event":"job:stop","queue_time":999560,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:33.077 [debug] Current batch of media processed. Will check again in 1000ms 14:25:34.078 [debug] Current batch of media processed. Will check again in 1000ms 14:25:35.079 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Greptile is the only AI code reviewer that actually runs your code. Try it for free: http://greptile.com/go/fireship\n\nAutomattic's board fired WordPress co-founder Matt Mullenweg while he was at Burning Man... 33 hours later, he replaced the board and declared himself a pirate. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 323, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092300_The most expensive 33 hours in WordPress history....mp4", "id" => "ylO0DQeVEBQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ylO0DQeVEBQ", "playlist_index" => 14, "timestamp" => 1790183842, "title" => "The most expensive 33 hours in WordPress history...", "upload_date" => "20260923"} 14:25:35.080 [debug] QUERY OK source="sources" db=0.4ms idle=621.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:35.081 [debug] QUERY OK source="sources" db=0.1ms idle=622.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:35.083 [debug] QUERY OK source="media_items" db=1.8ms idle=622.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-23 17:17:22Z], 36] 14:25:35.085 [debug] QUERY OK source="media_items" db=1.9ms idle=624.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" ["Greptile is the only AI code reviewer that actually runs your code. Try it for free: http://greptile.com/go/fireship\n\nAutomattic's board fired WordPress co-founder Matt Mullenweg while he was at Burning Man... 33 hours later, he replaced the board and declared himself a pirate. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The most expensive 33 hours in WordPress history...", "fe5ebc18-b580-423b-af09-70104c3c6d7b", "ylO0DQeVEBQ", 323, false, "https://www.youtube.com/watch?v=ylO0DQeVEBQ", 14, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092300_The most expensive 33 hours in WordPress history....mp4", false, false, false, 36, [], 98, ~U[2026-09-23 17:17:22Z], ~U[2026-10-26 19:25:35Z], ~U[2026-10-26 19:25:35Z], "Greptile is the only AI code reviewer that actually runs your code. Try it for free: http://greptile.com/go/fireship\n\nAutomattic's board fired WordPress co-founder Matt Mullenweg while he was at Burning Man... 33 hours later, he replaced the board and declared himself a pirate. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The most expensive 33 hours in WordPress history...", "ylO0DQeVEBQ", 323, false, "https://www.youtube.com/watch?v=ylO0DQeVEBQ", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092300_The most expensive 33 hours in WordPress history....mp4", false, 36, ~U[2026-09-23 17:17:22Z]] 14:25:35.085 [debug] QUERY OK source="sources" db=0.2ms idle=84.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:25:35.086 [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] 14:25:35.086 [debug] QUERY OK source="media_items" db=0.4ms 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 [3991197] 14:25:35.086 [debug] Current batch of media processed. Will check again in 1000ms 14:25:36.087 [debug] Current batch of media processed. Will check again in 1000ms 14:25:37.088 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mux is the video API that translates audio and answers questions about your video. Get $50 in free credits: https://mux.com/fireship\n\nEx-OpenAI researcher Diogo Almeida spent two years in stealth building Jev, a \"System 1\" AI model that can't talk or write code but claims to be 200x faster, 400x cheaper, and hallucination-free. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 327, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092100_An ex-OpenAI researcher just deleted language from the LLM....mp4", "id" => "TbkUKCm3CHQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TbkUKCm3CHQ", "playlist_index" => 15, "timestamp" => 1790013149, "title" => "An ex-OpenAI researcher just deleted language from the LLM...", "upload_date" => "20260921"} 14:25:37.089 [debug] QUERY OK source="sources" db=0.1ms idle=630.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:37.089 [debug] QUERY OK source="sources" db=0.1ms idle=630.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:37.091 [debug] QUERY OK source="media_items" db=1.8ms idle=630.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-21 17:52:29Z], 36] 14:25:37.093 [debug] QUERY OK source="media_items" db=1.8ms idle=632.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" ["Mux is the video API that translates audio and answers questions about your video. Get $50 in free credits: https://mux.com/fireship\n\nEx-OpenAI researcher Diogo Almeida spent two years in stealth building Jev, a \"System 1\" AI model that can't talk or write code but claims to be 200x faster, 400x cheaper, and hallucination-free. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "An ex-OpenAI researcher just deleted language from the LLM...", "8436a9cb-1704-4538-92b8-1d7eb0d63e4c", "TbkUKCm3CHQ", 327, false, "https://www.youtube.com/watch?v=TbkUKCm3CHQ", 15, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092100_An ex-OpenAI researcher just deleted language from the LLM....mp4", false, false, false, 36, [], 98, ~U[2026-09-21 17:52:29Z], ~U[2026-10-26 19:25:37Z], ~U[2026-10-26 19:25:37Z], "Mux is the video API that translates audio and answers questions about your video. Get $50 in free credits: https://mux.com/fireship\n\nEx-OpenAI researcher Diogo Almeida spent two years in stealth building Jev, a \"System 1\" AI model that can't talk or write code but claims to be 200x faster, 400x cheaper, and hallucination-free. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "An ex-OpenAI researcher just deleted language from the LLM...", "TbkUKCm3CHQ", 327, false, "https://www.youtube.com/watch?v=TbkUKCm3CHQ", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092100_An ex-OpenAI researcher just deleted language from the LLM....mp4", false, 36, ~U[2026-09-21 17:52:29Z]] 14:25:37.094 [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" = ?) [36] 14:25:37.094 [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] 14:25:37.095 [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 [3975438] 14:25:37.095 [debug] Current batch of media processed. Will check again in 1000ms 14:25:38.095 [debug] Current batch of media processed. Will check again in 1000ms 14:25:39.096 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Run GitHub Actions 2x faster and build with Codesmith at https://www.blacksmith.sh/\n\nGoogle DeepMind just published Dream-RSI, a technique that turns an AI's old discovery logs into a simulator so it can test thousands of exploration strategies. But is this actually RSI or just a search algorithm with caching? Let's dive in. \n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 298, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091700_Did Google just kickstart the intelligence explosion?.mp4", "id" => "LoLYw--s-5w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LoLYw--s-5w", "playlist_index" => 16, "timestamp" => 1789677235, "title" => "Did Google just kickstart the intelligence explosion?", "upload_date" => "20260917"} 14:25:39.097 [debug] QUERY OK source="sources" db=0.2ms idle=638.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:39.097 [debug] QUERY OK source="sources" db=0.1ms idle=638.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:39.099 [debug] QUERY OK source="media_items" db=1.8ms idle=639.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-17 20:33:55Z], 36] 14:25:39.101 [debug] QUERY OK source="media_items" db=1.6ms 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" ["Run GitHub Actions 2x faster and build with Codesmith at https://www.blacksmith.sh/\n\nGoogle DeepMind just published Dream-RSI, a technique that turns an AI's old discovery logs into a simulator so it can test thousands of exploration strategies. But is this actually RSI or just a search algorithm with caching? Let's dive in. \n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did Google just kickstart the intelligence explosion?", "40895776-a2ee-4749-ae96-be3c7a3c43a7", "LoLYw--s-5w", 298, false, "https://www.youtube.com/watch?v=LoLYw--s-5w", 16, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091700_Did Google just kickstart the intelligence explosion?.mp4", false, false, false, 36, [], 98, ~U[2026-09-17 20:33:55Z], ~U[2026-10-26 19:25:39Z], ~U[2026-10-26 19:25:39Z], "Run GitHub Actions 2x faster and build with Codesmith at https://www.blacksmith.sh/\n\nGoogle DeepMind just published Dream-RSI, a technique that turns an AI's old discovery logs into a simulator so it can test thousands of exploration strategies. But is this actually RSI or just a search algorithm with caching? Let's dive in. \n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did Google just kickstart the intelligence explosion?", "LoLYw--s-5w", 298, false, "https://www.youtube.com/watch?v=LoLYw--s-5w", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091700_Did Google just kickstart the intelligence explosion?.mp4", false, 36, ~U[2026-09-17 20:33:55Z]] 14:25:39.102 [debug] QUERY OK source="sources" db=0.2ms idle=95.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:25:39.102 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:39.103 [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 [3944664] 14:25:39.103 [debug] Current batch of media processed. Will check again in 1000ms 14:25:40.014 [info] {"args":{"id":3647632},"id":541622,"meta":{},"system_time":1793042740014298270,"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"]} 14:25:40.014 [debug] QUERY OK source="media_items" db=0.1ms idle=912.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" = ?) [3647632] 14:25:40.014 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:40.015 [debug] QUERY OK source="sources" db=0.1ms idle=912.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:25:40.015 [debug] QUERY OK source="media_profiles" db=0.1ms idle=912.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] 14:25:40.015 [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 [3647632] 14:25:40.017 [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" = ?) [3647632] 14:25:40.017 [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] 14:25:40.018 [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 [] 14:25:40.018 [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 [] 14:25:40.018 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:40.019 [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 [] 14:25:40.019 [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 [] 14:25:40.020 [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 [] 14:25:40.020 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ad/af/adaf564f026163f4013707b6b75c6b55903ec56ae71dc50bc4b3fb0986b2344f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:40.103 [debug] Current batch of media processed. Will check again in 1000ms 14:25:41.104 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Macroscope can auto-approve your team’s PRs safely. Try it here:\nhttps://macroscope.com/?utm_source=fireship\n\nAnthropic just dropped a 154-page report on how hackers, scientists, and rival AI labs have been abusing Claude. Let's dive in.\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/s2026e091500_Anthropic researchers are quitting... and now we know why.mp4", "id" => "7r4ikZHm9AI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7r4ikZHm9AI", "playlist_index" => 17, "timestamp" => 1789494339, "title" => "Anthropic researchers are quitting... and now we know why", "upload_date" => "20260915"} 14:25:41.105 [debug] QUERY OK source="sources" db=0.2ms idle=1086.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:41.105 [debug] QUERY OK source="sources" db=0.1ms idle=1085.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:41.107 [debug] QUERY OK source="media_items" db=1.6ms idle=1085.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-15 17:45:39Z], 36] 14:25:41.108 [debug] QUERY OK source="media_items" db=1.2ms 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" ["Macroscope can auto-approve your team’s PRs safely. Try it here:\nhttps://macroscope.com/?utm_source=fireship\n\nAnthropic just dropped a 154-page report on how hackers, scientists, and rival AI labs have been abusing Claude. Let's dive in.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Anthropic researchers are quitting... and now we know why", "437b764d-8fbd-44a9-99e0-ea5854d3fcc3", "7r4ikZHm9AI", 376, false, "https://www.youtube.com/watch?v=7r4ikZHm9AI", 17, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091500_Anthropic researchers are quitting... and now we know why.mp4", false, false, false, 36, [], 98, ~U[2026-09-15 17:45:39Z], ~U[2026-10-26 19:25:41Z], ~U[2026-10-26 19:25:41Z], "Macroscope can auto-approve your team’s PRs safely. Try it here:\nhttps://macroscope.com/?utm_source=fireship\n\nAnthropic just dropped a 154-page report on how hackers, scientists, and rival AI labs have been abusing Claude. Let's dive in.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Anthropic researchers are quitting... and now we know why", "7r4ikZHm9AI", 376, false, "https://www.youtube.com/watch?v=7r4ikZHm9AI", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091500_Anthropic researchers are quitting... and now we know why.mp4", false, 36, ~U[2026-09-15 17:45:39Z]] 14:25:41.109 [debug] QUERY OK source="sources" db=0.2ms idle=99.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:25:41.109 [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] 14:25:41.109 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3928783] 14:25:41.109 [debug] Current batch of media processed. Will check again in 1000ms 14:25:42.039 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ad/af/adaf564f026163f4013707b6b75c6b55903ec56ae71dc50bc4b3fb0986b2344f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:25:42.039 [error] yt-dlp download error for media item #3647632: "ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:25:42.040 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3647632},"id":541622,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2025586,"event":"job:exception","queue_time":148221,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:42.110 [debug] Current batch of media processed. Will check again in 1000ms 14:25:43.111 [debug] Current batch of media processed. Will check again in 1000ms 14:25:44.112 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Railway is the smoothest way to deploy software: https://railway.com/?referralCode=fireship\n\nOpenAI claims it cracked a 90 year old math problem, but one NYU professor isn't happy about it. Let's dive in. \n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 344, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091100_OpenAI's biggest math breakthrough is getting ugly....mp4", "id" => "aspmNhKAFMc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aspmNhKAFMc", "playlist_index" => 18, "timestamp" => 1789147480, "title" => "OpenAI's biggest math breakthrough is getting ugly...", "upload_date" => "20260911"} 14:25:44.113 [debug] QUERY OK source="sources" db=0.2ms idle=1654.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:44.113 [debug] QUERY OK source="sources" db=0.1ms idle=1102.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:44.115 [debug] QUERY OK source="media_items" db=1.8ms idle=655.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-11 17:24:40Z], 36] 14:25:44.117 [debug] QUERY OK source="media_items" db=1.4ms idle=657.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" ["Railway is the smoothest way to deploy software: https://railway.com/?referralCode=fireship\n\nOpenAI claims it cracked a 90 year old math problem, but one NYU professor isn't happy about it. Let's dive in. \n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "OpenAI's biggest math breakthrough is getting ugly...", "64b33fd7-d825-475e-8c3a-2e4c89564e8c", "aspmNhKAFMc", 344, false, "https://www.youtube.com/watch?v=aspmNhKAFMc", 18, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091100_OpenAI's biggest math breakthrough is getting ugly....mp4", false, false, false, 36, [], 98, ~U[2026-09-11 17:24:40Z], ~U[2026-10-26 19:25:44Z], ~U[2026-10-26 19:25:44Z], "Railway is the smoothest way to deploy software: https://railway.com/?referralCode=fireship\n\nOpenAI claims it cracked a 90 year old math problem, but one NYU professor isn't happy about it. Let's dive in. \n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "OpenAI's biggest math breakthrough is getting ugly...", "aspmNhKAFMc", 344, false, "https://www.youtube.com/watch?v=aspmNhKAFMc", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091100_OpenAI's biggest math breakthrough is getting ugly....mp4", false, 36, ~U[2026-09-11 17:24:40Z]] 14:25:44.117 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [36] 14:25:44.118 [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] 14:25:44.118 [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 [3896927] 14:25:44.118 [debug] Current batch of media processed. Will check again in 1000ms 14:25:45.119 [debug] Current batch of media processed. Will check again in 1000ms 14:25:46.120 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get 20% off Mobbin Pro to help your agent design UIs that actually convert - https://mobbin.com/fireship\n\nNow that Astra is actually available to use, let's see if it lives up to the hype.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "duration" => 368, "filename" => "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e090900_I built the same game with Astra and Fable 5.1... only one was fun.mp4", "id" => "2Xiljy4xzbc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2Xiljy4xzbc", "playlist_index" => 19, "timestamp" => 1788971667, "title" => "I built the same game with Astra and Fable 5.1... only one was fun", "upload_date" => "20260909"} 14:25:46.121 [debug] QUERY OK source="sources" db=0.2ms idle=662.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:46.121 [debug] QUERY OK source="sources" db=0.1ms idle=662.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:46.123 [debug] QUERY OK source="media_items" db=1.9ms idle=663.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-09 16:34:27Z], 36] 14:25:46.125 [debug] QUERY OK source="media_items" db=0.9ms idle=665.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 20% off Mobbin Pro to help your agent design UIs that actually convert - https://mobbin.com/fireship\n\nNow that Astra is actually available to use, let's see if it lives up to the hype.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I built the same game with Astra and Fable 5.1... only one was fun", "119f6596-9c6a-4f9b-a42a-ce6a506ee6c5", "2Xiljy4xzbc", 368, false, "https://www.youtube.com/watch?v=2Xiljy4xzbc", 19, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e090900_I built the same game with Astra and Fable 5.1... only one was fun.mp4", false, false, false, 36, [], 98, ~U[2026-09-09 16:34:27Z], ~U[2026-10-26 19:25:46Z], ~U[2026-10-26 19:25:46Z], "Get 20% off Mobbin Pro to help your agent design UIs that actually convert - https://mobbin.com/fireship\n\nNow that Astra is actually available to use, let's see if it lives up to the hype.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I built the same game with Astra and Fable 5.1... only one was fun", "2Xiljy4xzbc", 368, false, "https://www.youtube.com/watch?v=2Xiljy4xzbc", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e090900_I built the same game with Astra and Fable 5.1... only one was fun.mp4", false, 36, ~U[2026-09-09 16:34:27Z]] 14:25:46.125 [debug] QUERY OK source="sources" db=0.1ms idle=110.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:25:46.125 [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] 14:25:46.126 [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 [3880160] 14:25:46.126 [debug] Current batch of media processed. Will check again in 1000ms 14:25:47.126 [debug] Current batch of media processed. Will check again in 1000ms 14:25:48.127 [debug] Current batch of media processed. Will check again in 1000ms 14:25:49.128 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get 67% off VPS hosting with Hostinger's one-click templates. Use code FIRESHIP for an extra discount - https://hostinger.com/fireship\n\nIn this video we cover 5 free and open-source tools that'll help you cut token costs. Let's dive in.\n\n- Ollama\n- 9router\n- Headroom\n- Diffy\n- OpenHands\n\n#coding #programming\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/s2026e090700_5 open source tools that replaced my $320⧸mo AI stack....mp4", "id" => "Y5rSSvXfL4g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Y5rSSvXfL4g", "playlist_index" => 20, "timestamp" => 1788801891, "title" => "5 open source tools that replaced my $320/mo AI stack...", "upload_date" => "20260907"} 14:25:49.129 [debug] QUERY OK source="sources" db=0.2ms idle=1670.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:49.129 [debug] QUERY OK source="sources" db=0.2ms idle=1670.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:49.131 [debug] QUERY OK source="media_items" db=1.7ms idle=1671.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-07 17:24:51Z], 36] 14:25:49.134 [debug] QUERY OK source="media_items" db=1.8ms idle=1113.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 67% off VPS hosting with Hostinger's one-click templates. Use code FIRESHIP for an extra discount - https://hostinger.com/fireship\n\nIn this video we cover 5 free and open-source tools that'll help you cut token costs. Let's dive in.\n\n- Ollama\n- 9router\n- Headroom\n- Diffy\n- OpenHands\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "5 open source tools that replaced my $320/mo AI stack...", "707b80b6-2d53-4668-beab-ceede20c41c9", "Y5rSSvXfL4g", 326, false, "https://www.youtube.com/watch?v=Y5rSSvXfL4g", 20, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e090700_5 open source tools that replaced my $320⧸mo AI stack....mp4", false, false, false, 36, [], 98, ~U[2026-09-07 17:24:51Z], ~U[2026-10-26 19:25:49Z], ~U[2026-10-26 19:25:49Z], "Get 67% off VPS hosting with Hostinger's one-click templates. Use code FIRESHIP for an extra discount - https://hostinger.com/fireship\n\nIn this video we cover 5 free and open-source tools that'll help you cut token costs. Let's dive in.\n\n- Ollama\n- 9router\n- Headroom\n- Diffy\n- OpenHands\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "5 open source tools that replaced my $320/mo AI stack...", "Y5rSSvXfL4g", 326, false, "https://www.youtube.com/watch?v=Y5rSSvXfL4g", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e090700_5 open source tools that replaced my $320⧸mo AI stack....mp4", false, 36, ~U[2026-09-07 17:24:51Z]] 14:25:49.134 [debug] QUERY OK source="sources" db=0.2ms idle=114.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:25:49.134 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:25:49.135 [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 [3865165] 14:25:49.135 [debug] Current batch of media processed. Will check again in 1000ms 14:25:50.135 [debug] Current batch of media processed. Will check again in 1000ms 14:25:50.510 [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/c0/21/c021f2a8981379d35536558a920d75d89852c2c26132dd0dcb8145bac4e5d786.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ad/a7/ada745aa4fa227f01064681963eedb9abf120a17e8d10b5fb061207c4a77971f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 14:25:50.510 [debug] Gracefully stopping file follower 14:25:50.511 [debug] QUERY OK source="sources" db=0.2ms idle=490.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:25:50.511 [debug] QUERY OK source="sources" db=0.1ms idle=52.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:25:50.513 [debug] QUERY OK source="media_items" db=1.4ms idle=52.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 18:55:29Z], 36] 14:25:50.514 [debug] QUERY OK source="media_items" db=0.7ms idle=54.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 20% off Mobbin Pro to help your agent design UIs that actually convert - https://mobbin.com/fireship\n\nKimi K3.1 just dropped as a free 3-trillion-parameter open-weight model that comes within one point of Opus on Terminal Bench. But is it *actually* good? Let's find out.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "This 3 trillion parameter model should be impossible...", "0b64fe9b-ffe5-4253-a1f6-44018650f440", "G_em1hHPnXY", 385, false, "https://www.youtube.com/watch?v=G_em1hHPnXY", 1, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102600_This 3 trillion parameter model should be impossible....mp4", false, false, false, 36, [], 98, ~U[2026-10-26 18:55:29Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Get 20% off Mobbin Pro to help your agent design UIs that actually convert - https://mobbin.com/fireship\n\nKimi K3.1 just dropped as a free 3-trillion-parameter open-weight model that comes within one point of Opus on Terminal Bench. But is it *actually* good? Let's find out.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "This 3 trillion parameter model should be impossible...", "G_em1hHPnXY", 385, false, "https://www.youtube.com/watch?v=G_em1hHPnXY", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102600_This 3 trillion parameter model should be impossible....mp4", false, 36, ~U[2026-10-26 18:55:29Z]] 14:25:50.514 [debug] QUERY OK source="sources" db=0.1ms idle=55.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:50.515 [debug] QUERY OK source="media_items" db=1.3ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-23 18:19:58Z], 36] 14:25:50.516 [debug] QUERY OK source="media_items" db=0.9ms 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" ["Semgrep Guardian catches the risky code and packages your agent introduces. Try it free for 60 days: https://semgrep.dev/onboarding/guardian?offer=fireship_202610&utm_source=fireship&utm_medium=referral&utm_campaign=2026-10_fireship_guardian_campaign\n\nPHP2Shell, a backdoored Python package with 23 million weekly downloads, a GitLab bug dating back to 2014, rogue AI agents inside bank accounts, and a certificate authority generating HTTPS keys from numbers under 256 — let's break down the craziest week in the history of the internet.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The most vulnerable week in internet history...", "c72489ee-5094-4b09-8a7c-acafb1b76fff", "SMGg7iisHmc", 363, false, "https://www.youtube.com/watch?v=SMGg7iisHmc", 2, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102300_The most vulnerable week in internet history....mp4", false, false, false, 36, [], 98, ~U[2026-10-23 18:19:58Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Semgrep Guardian catches the risky code and packages your agent introduces. Try it free for 60 days: https://semgrep.dev/onboarding/guardian?offer=fireship_202610&utm_source=fireship&utm_medium=referral&utm_campaign=2026-10_fireship_guardian_campaign\n\nPHP2Shell, a backdoored Python package with 23 million weekly downloads, a GitLab bug dating back to 2014, rogue AI agents inside bank accounts, and a certificate authority generating HTTPS keys from numbers under 256 — let's break down the craziest week in the history of the internet.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The most vulnerable week in internet history...", "SMGg7iisHmc", 363, false, "https://www.youtube.com/watch?v=SMGg7iisHmc", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102300_The most vulnerable week in internet history....mp4", false, 36, ~U[2026-10-23 18:19:58Z]] 14:25:50.517 [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] 14:25:50.518 [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-10-22 15:09:31Z], 36] 14:25:50.519 [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 real-time search data from a single API. Fireship viewers get 1,000 free searches: https://serpapi.com/fireship\n\nYes the very foundations of the internet are currently crumbling to pieces, but before we look at that, let's distract ourselves with the 7 common programmer stereotypes that still exist.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The last real programmers are dying out...", "b56726c3-892e-44a0-b666-c538aff2df74", "zv6B6PQOuHE", 355, false, "https://www.youtube.com/watch?v=zv6B6PQOuHE", 3, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102200_The last real programmers are dying out....mp4", false, false, false, 36, [], 98, ~U[2026-10-22 15:09:31Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Get real-time search data from a single API. Fireship viewers get 1,000 free searches: https://serpapi.com/fireship\n\nYes the very foundations of the internet are currently crumbling to pieces, but before we look at that, let's distract ourselves with the 7 common programmer stereotypes that still exist.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The last real programmers are dying out...", "zv6B6PQOuHE", 355, false, "https://www.youtube.com/watch?v=zv6B6PQOuHE", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102200_The last real programmers are dying out....mp4", false, 36, ~U[2026-10-22 15:09:31Z]] 14:25:50.519 [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" = ?) [36] 14:25:50.521 [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-10-20 16:21:03Z], 36] 14:25:50.522 [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" ["Macroscope can auto-approve your team's PRs safely. Try it here: https://macroscope.com/?utm_source=fireship\n\nGoogle’s new model claims to beat GPT-6 and Opus 5.5, so I took them all for a test drive. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did Google just dethrone OpenAI and Anthropic?", "6b82bb32-14c9-4a37-af79-367f4f799c6a", "b2tjnxX8IHU", 393, false, "https://www.youtube.com/watch?v=b2tjnxX8IHU", 4, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102000_Did Google just dethrone OpenAI and Anthropic?.mp4", false, false, false, 36, [], 98, ~U[2026-10-20 16:21:03Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Macroscope can auto-approve your team's PRs safely. Try it here: https://macroscope.com/?utm_source=fireship\n\nGoogle’s new model claims to beat GPT-6 and Opus 5.5, so I took them all for a test drive. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did Google just dethrone OpenAI and Anthropic?", "b2tjnxX8IHU", 393, false, "https://www.youtube.com/watch?v=b2tjnxX8IHU", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e102000_Did Google just dethrone OpenAI and Anthropic?.mp4", false, 36, ~U[2026-10-20 16:21:03Z]] 14:25:50.522 [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] 14:25:50.523 [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-10-15 17:35:15Z], 36] 14:25:50.524 [debug] QUERY OK source="media_items" db=0.5ms 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" ["Every JetBrains account now comes with a free coding model called Junie Lite. Try it: https://jb.gg/JunieLite\n\nCloudflare just acquired Deno and the creator of Node.js is finally admitting that reimplementing it was a mistake. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The runtime wars are over... and Node won", "d927a723-8c07-4dcf-85d6-024748d06963", "l3L_lETiSzc", 340, false, "https://www.youtube.com/watch?v=l3L_lETiSzc", 5, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101500_The runtime wars are over... and Node won.mp4", false, false, false, 36, [], 98, ~U[2026-10-15 17:35:15Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Every JetBrains account now comes with a free coding model called Junie Lite. Try it: https://jb.gg/JunieLite\n\nCloudflare just acquired Deno and the creator of Node.js is finally admitting that reimplementing it was a mistake. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The runtime wars are over... and Node won", "l3L_lETiSzc", 340, false, "https://www.youtube.com/watch?v=l3L_lETiSzc", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101500_The runtime wars are over... and Node won.mp4", false, 36, ~U[2026-10-15 17:35:15Z]] 14:25:50.524 [debug] QUERY OK source="sources" db=0.2ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:50.526 [debug] QUERY OK source="media_items" db=1.3ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 17:48:10Z], 36] 14:25:50.528 [debug] QUERY OK source="media_items" db=1.8ms 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" ["Run GitHub Actions 2x faster and build with Codesmith at https://www.blacksmith.sh/\n\nAn OpenAI engineer built a wiretap with his wife’s ChatGPT account, hid it in toilet paper behind the executive boardroom TV, and lasted 48 hours before getting caught. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "OpenAI’s lead engineer was secretly a spy...", "b0c1f930-a507-4dfa-bf51-27dffcabf5f3", "QZVzuq28eFw", 306, false, "https://www.youtube.com/watch?v=QZVzuq28eFw", 6, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101400_OpenAI’s lead engineer was secretly a spy....mp4", false, false, false, 36, [], 98, ~U[2026-10-14 17:48:10Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Run GitHub Actions 2x faster and build with Codesmith at https://www.blacksmith.sh/\n\nAn OpenAI engineer built a wiretap with his wife’s ChatGPT account, hid it in toilet paper behind the executive boardroom TV, and lasted 48 hours before getting caught. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "OpenAI’s lead engineer was secretly a spy...", "QZVzuq28eFw", 306, false, "https://www.youtube.com/watch?v=QZVzuq28eFw", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101400_OpenAI’s lead engineer was secretly a spy....mp4", false, 36, ~U[2026-10-14 17:48:10Z]] 14:25:50.528 [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" = ?) [36] 14:25:50.529 [debug] QUERY OK source="media_items" db=1.1ms 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-10-12 19:15:23Z], 36] 14:25:50.566 [debug] QUERY OK source="media_items" db=36.2ms 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" ["Every agent needs proper tools. Apify MCP gives yours thousands of them, ready to run. Use code FIRESHIP25 for $25 in free credits: https://apify.it/4ygURHS\n\nA developer just rewrote seven Adobe apps in Rust and open-sourced them for free. Let's test them out.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Every app on Earth is now open source... whether it likes it or not", "9e3d22ea-3cc5-4ece-b47a-0c536d0f26cb", "wajoP_5Cpw8", 355, false, "https://www.youtube.com/watch?v=wajoP_5Cpw8", 7, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101200_Every app on Earth is now open source... whether it likes it or not.mp4", false, false, false, 36, [], 98, ~U[2026-10-12 19:15:23Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Every agent needs proper tools. Apify MCP gives yours thousands of them, ready to run. Use code FIRESHIP25 for $25 in free credits: https://apify.it/4ygURHS\n\nA developer just rewrote seven Adobe apps in Rust and open-sourced them for free. Let's test them out.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Every app on Earth is now open source... whether it likes it or not", "wajoP_5Cpw8", 355, false, "https://www.youtube.com/watch?v=wajoP_5Cpw8", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e101200_Every app on Earth is now open source... whether it likes it or not.mp4", false, 36, ~U[2026-10-12 19:15:23Z]] 14:25:50.567 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:50.568 [debug] QUERY OK source="media_items" db=1.5ms idle=39.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-07 20:24:27Z], 36] 14:25:50.573 [debug] QUERY OK source="media_items" db=4.4ms idle=40.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 is the simplest way to let your agents act on any website. Use code: FIRESHIP to get a free upgrade to the Hobbyist tier ($30 value) at https://kernel.sh/fireship\n\nMistral, Reflection AI, and Moonshot all made big moves in the open-weight race this week. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "A $6.3 billion open-weight model just got embarrassed by the French...", "f198c72d-a8c3-45a2-8bdd-99a28703e03a", "WrCjAAl9okA", 370, false, "https://www.youtube.com/watch?v=WrCjAAl9okA", 8, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100700_A $6.3 billion open-weight model just got embarrassed by the French....mp4", false, false, false, 36, [], 98, ~U[2026-10-07 20:24:27Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "KERNEL is the simplest way to let your agents act on any website. Use code: FIRESHIP to get a free upgrade to the Hobbyist tier ($30 value) at https://kernel.sh/fireship\n\nMistral, Reflection AI, and Moonshot all made big moves in the open-weight race this week. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "A $6.3 billion open-weight model just got embarrassed by the French...", "WrCjAAl9okA", 370, false, "https://www.youtube.com/watch?v=WrCjAAl9okA", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100700_A $6.3 billion open-weight model just got embarrassed by the French....mp4", false, 36, ~U[2026-10-07 20:24:27Z]] 14:25:50.574 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:50.576 [debug] QUERY OK source="media_items" db=1.6ms 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-10-05 20:34:44Z], 36] 14:25:50.577 [debug] QUERY OK source="media_items" db=0.6ms 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" ["Namespace is actually the fastest way to run your GitHub Actions (and more). Try it for free - https://namespace.so/github-actions\n\nPewDiePie is building Ajax, an uncensored AI model he trained at home after OpenAI banned him twice for distillation. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "PewDiePie is setting AI free... and OpenAI is furious", "9bebb3d6-3141-4e53-8e0b-a1fe1f6d0d33", "_5p1_TNSWqQ", 345, false, "https://www.youtube.com/watch?v=_5p1_TNSWqQ", 9, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100500_PewDiePie is setting AI free... and OpenAI is furious.mp4", false, false, false, 36, [], 98, ~U[2026-10-05 20:34:44Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Namespace is actually the fastest way to run your GitHub Actions (and more). Try it for free - https://namespace.so/github-actions\n\nPewDiePie is building Ajax, an uncensored AI model he trained at home after OpenAI banned him twice for distillation. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "PewDiePie is setting AI free... and OpenAI is furious", "_5p1_TNSWqQ", 345, false, "https://www.youtube.com/watch?v=_5p1_TNSWqQ", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100500_PewDiePie is setting AI free... and OpenAI is furious.mp4", false, 36, ~U[2026-10-05 20:34:44Z]] 14:25:50.577 [debug] QUERY OK source="sources" db=0.2ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:50.578 [debug] QUERY OK source="media_items" db=1.2ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-01 19:34:14Z], 36] 14:25:50.579 [debug] QUERY OK source="media_items" db=0.5ms 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" ["Try the faster, open-weight version of Jev at https://fastino.ai/. Use code: FIRESHIPFIVE to get free credits.\n\nIn this video we'll cover everything you missed at OpenAI Dev Day 2026. Let's dive in.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The one OpenAI announcement that can actually make you money...", "56c5c0cd-3203-4908-a987-3139f47b6f1f", "No-JPdFvYWU", 347, false, "https://www.youtube.com/watch?v=No-JPdFvYWU", 10, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100100_The one OpenAI announcement that can actually make you money....mp4", false, false, false, 36, [], 98, ~U[2026-10-01 19:34:14Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Try the faster, open-weight version of Jev at https://fastino.ai/. Use code: FIRESHIPFIVE to get free credits.\n\nIn this video we'll cover everything you missed at OpenAI Dev Day 2026. Let's dive in.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The one OpenAI announcement that can actually make you money...", "No-JPdFvYWU", 347, false, "https://www.youtube.com/watch?v=No-JPdFvYWU", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e100100_The one OpenAI announcement that can actually make you money....mp4", false, 36, ~U[2026-10-01 19:34:14Z]] 14:25:50.579 [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] 14:25:50.581 [debug] QUERY OK source="media_items" db=1.2ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-30 17:16:43Z], 36] 14:25:50.582 [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" ["Check out the OpenAPPA repo: https://github.com/archestra-ai/OpenAPPA\n\nA new open source project claims to have fixed the rogue agent problem. Let's dive in. \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did a 50 year old military secret just solve agent prompt injection?", "00682a77-74f5-458c-bbfc-6d246be926a0", "I_KVMFrUtPk", 303, false, "https://www.youtube.com/watch?v=I_KVMFrUtPk", 11, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e093000_Did a 50 year old military secret just solve agent prompt injection?.mp4", false, false, false, 36, [], 98, ~U[2026-09-30 17:16:43Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Check out the OpenAPPA repo: https://github.com/archestra-ai/OpenAPPA\n\nA new open source project claims to have fixed the rogue agent problem. Let's dive in. \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did a 50 year old military secret just solve agent prompt injection?", "I_KVMFrUtPk", 303, false, "https://www.youtube.com/watch?v=I_KVMFrUtPk", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e093000_Did a 50 year old military secret just solve agent prompt injection?.mp4", false, 36, ~U[2026-09-30 17:16:43Z]] 14:25:50.582 [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] 14:25:50.583 [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-09-28 19:27:59Z], 36] 14:25:50.584 [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" ["CodeRabbit Triage prioritizes all your team's pull requests for you. Try it free: https://coderabbit.link/fireship-014\n\nDHH told 1,200 Rails developers that writing code by hand is over... so let's find out which programming skills are actually still worth having.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "DHH has gone completely off the rails...", "cac9f22a-209c-4082-a749-f0a8ec5874ae", "OuNKBjuV7A4", 403, false, "https://www.youtube.com/watch?v=OuNKBjuV7A4", 12, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092800_DHH has gone completely off the rails....mp4", false, false, false, 36, [], 98, ~U[2026-09-28 19:27:59Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "CodeRabbit Triage prioritizes all your team's pull requests for you. Try it free: https://coderabbit.link/fireship-014\n\nDHH told 1,200 Rails developers that writing code by hand is over... so let's find out which programming skills are actually still worth having.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "DHH has gone completely off the rails...", "OuNKBjuV7A4", 403, false, "https://www.youtube.com/watch?v=OuNKBjuV7A4", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092800_DHH has gone completely off the rails....mp4", false, 36, ~U[2026-09-28 19:27:59Z]] 14:25:50.585 [debug] QUERY OK source="sources" db=0.3ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:50.586 [debug] QUERY OK source="media_items" db=1.5ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-25 19:22:32Z], 36] 14:25:50.587 [debug] QUERY OK source="media_items" db=0.6ms 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 $100 in Hyperagent bonus credits when you sign up for a paid plan - https://www.hyperagent.com/fireship100\n\nIn this video we break down everything from Meta Connect 2026. Let's dive in. \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Meta is pivoting again... everything you missed from Connect 2026", "8ec42e74-9439-4e34-b29d-34ca34287756", "c1rPlzxSZ8E", 340, false, "https://www.youtube.com/watch?v=c1rPlzxSZ8E", 13, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092500_Meta is pivoting again... everything you missed from Connect 2026.mp4", false, false, false, 36, [], 98, ~U[2026-09-25 19:22:32Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Get $100 in Hyperagent bonus credits when you sign up for a paid plan - https://www.hyperagent.com/fireship100\n\nIn this video we break down everything from Meta Connect 2026. Let's dive in. \n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Meta is pivoting again... everything you missed from Connect 2026", "c1rPlzxSZ8E", 340, false, "https://www.youtube.com/watch?v=c1rPlzxSZ8E", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092500_Meta is pivoting again... everything you missed from Connect 2026.mp4", false, 36, ~U[2026-09-25 19:22:32Z]] 14:25:50.588 [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" = ?) [36] 14:25:50.589 [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-09-23 17:17:22Z], 36] 14:25:50.590 [debug] QUERY OK source="media_items" db=0.5ms 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" ["Greptile is the only AI code reviewer that actually runs your code. Try it for free: http://greptile.com/go/fireship\n\nAutomattic's board fired WordPress co-founder Matt Mullenweg while he was at Burning Man... 33 hours later, he replaced the board and declared himself a pirate. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The most expensive 33 hours in WordPress history...", "2c6c5b05-76f6-4590-8cf2-cf08282b5de2", "ylO0DQeVEBQ", 323, false, "https://www.youtube.com/watch?v=ylO0DQeVEBQ", 14, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092300_The most expensive 33 hours in WordPress history....mp4", false, false, false, 36, [], 98, ~U[2026-09-23 17:17:22Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Greptile is the only AI code reviewer that actually runs your code. Try it for free: http://greptile.com/go/fireship\n\nAutomattic's board fired WordPress co-founder Matt Mullenweg while he was at Burning Man... 33 hours later, he replaced the board and declared himself a pirate. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "The most expensive 33 hours in WordPress history...", "ylO0DQeVEBQ", 323, false, "https://www.youtube.com/watch?v=ylO0DQeVEBQ", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092300_The most expensive 33 hours in WordPress history....mp4", false, 36, ~U[2026-09-23 17:17:22Z]] 14:25:50.590 [debug] QUERY OK source="sources" db=0.2ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:50.591 [debug] QUERY OK source="media_items" db=1.2ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-21 17:52:29Z], 36] 14:25:50.592 [debug] QUERY OK source="media_items" db=0.6ms 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" ["Mux is the video API that translates audio and answers questions about your video. Get $50 in free credits: https://mux.com/fireship\n\nEx-OpenAI researcher Diogo Almeida spent two years in stealth building Jev, a \"System 1\" AI model that can't talk or write code but claims to be 200x faster, 400x cheaper, and hallucination-free. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "An ex-OpenAI researcher just deleted language from the LLM...", "460881dd-f8c1-46d5-a705-063a1183ce0d", "TbkUKCm3CHQ", 327, false, "https://www.youtube.com/watch?v=TbkUKCm3CHQ", 15, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092100_An ex-OpenAI researcher just deleted language from the LLM....mp4", false, false, false, 36, [], 98, ~U[2026-09-21 17:52:29Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Mux is the video API that translates audio and answers questions about your video. Get $50 in free credits: https://mux.com/fireship\n\nEx-OpenAI researcher Diogo Almeida spent two years in stealth building Jev, a \"System 1\" AI model that can't talk or write code but claims to be 200x faster, 400x cheaper, and hallucination-free. Let's dive in.\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "An ex-OpenAI researcher just deleted language from the LLM...", "TbkUKCm3CHQ", 327, false, "https://www.youtube.com/watch?v=TbkUKCm3CHQ", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e092100_An ex-OpenAI researcher just deleted language from the LLM....mp4", false, 36, ~U[2026-09-21 17:52:29Z]] 14:25:50.593 [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] 14:25:50.594 [debug] QUERY OK source="media_items" db=1.4ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-17 20:33:55Z], 36] 14:25:50.595 [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" ["Run GitHub Actions 2x faster and build with Codesmith at https://www.blacksmith.sh/\n\nGoogle DeepMind just published Dream-RSI, a technique that turns an AI's old discovery logs into a simulator so it can test thousands of exploration strategies. But is this actually RSI or just a search algorithm with caching? Let's dive in. \n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did Google just kickstart the intelligence explosion?", "c66c73ff-1ca4-42ed-b66e-ee879dbd2873", "LoLYw--s-5w", 298, false, "https://www.youtube.com/watch?v=LoLYw--s-5w", 16, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091700_Did Google just kickstart the intelligence explosion?.mp4", false, false, false, 36, [], 98, ~U[2026-09-17 20:33:55Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Run GitHub Actions 2x faster and build with Codesmith at https://www.blacksmith.sh/\n\nGoogle DeepMind just published Dream-RSI, a technique that turns an AI's old discovery logs into a simulator so it can test thousands of exploration strategies. But is this actually RSI or just a search algorithm with caching? Let's dive in. \n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did Google just kickstart the intelligence explosion?", "LoLYw--s-5w", 298, false, "https://www.youtube.com/watch?v=LoLYw--s-5w", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091700_Did Google just kickstart the intelligence explosion?.mp4", false, 36, ~U[2026-09-17 20:33:55Z]] 14:25:50.596 [debug] QUERY OK source="sources" db=0.3ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:50.597 [debug] QUERY OK source="media_items" db=1.3ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-15 17:45:39Z], 36] 14:25:50.598 [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" ["Macroscope can auto-approve your team’s PRs safely. Try it here:\nhttps://macroscope.com/?utm_source=fireship\n\nAnthropic just dropped a 154-page report on how hackers, scientists, and rival AI labs have been abusing Claude. Let's dive in.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Anthropic researchers are quitting... and now we know why", "b6732cf0-5c4f-4de3-a91b-1081abedfd80", "7r4ikZHm9AI", 376, false, "https://www.youtube.com/watch?v=7r4ikZHm9AI", 17, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091500_Anthropic researchers are quitting... and now we know why.mp4", false, false, false, 36, [], 98, ~U[2026-09-15 17:45:39Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Macroscope can auto-approve your team’s PRs safely. Try it here:\nhttps://macroscope.com/?utm_source=fireship\n\nAnthropic just dropped a 154-page report on how hackers, scientists, and rival AI labs have been abusing Claude. Let's dive in.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Anthropic researchers are quitting... and now we know why", "7r4ikZHm9AI", 376, false, "https://www.youtube.com/watch?v=7r4ikZHm9AI", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091500_Anthropic researchers are quitting... and now we know why.mp4", false, 36, ~U[2026-09-15 17:45:39Z]] 14:25:50.598 [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] 14:25:50.600 [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-09-11 17:24:40Z], 36] 14:25:50.600 [debug] QUERY OK source="media_items" db=0.5ms 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" ["Railway is the smoothest way to deploy software: https://railway.com/?referralCode=fireship\n\nOpenAI claims it cracked a 90 year old math problem, but one NYU professor isn't happy about it. Let's dive in. \n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "OpenAI's biggest math breakthrough is getting ugly...", "bcbe1ed6-5e49-4a18-bcf2-80ec09eb080a", "aspmNhKAFMc", 344, false, "https://www.youtube.com/watch?v=aspmNhKAFMc", 18, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091100_OpenAI's biggest math breakthrough is getting ugly....mp4", false, false, false, 36, [], 98, ~U[2026-09-11 17:24:40Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Railway is the smoothest way to deploy software: https://railway.com/?referralCode=fireship\n\nOpenAI claims it cracked a 90 year old math problem, but one NYU professor isn't happy about it. Let's dive in. \n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "OpenAI's biggest math breakthrough is getting ugly...", "aspmNhKAFMc", 344, false, "https://www.youtube.com/watch?v=aspmNhKAFMc", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e091100_OpenAI's biggest math breakthrough is getting ugly....mp4", false, 36, ~U[2026-09-11 17:24:40Z]] 14:25:50.601 [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] 14:25:50.602 [debug] QUERY OK source="media_items" db=1.3ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-09 16:34:27Z], 36] 14:25:50.603 [debug] QUERY OK source="media_items" db=0.5ms 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" ["Get 20% off Mobbin Pro to help your agent design UIs that actually convert - https://mobbin.com/fireship\n\nNow that Astra is actually available to use, let's see if it lives up to the hype.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I built the same game with Astra and Fable 5.1... only one was fun", "68ff8497-88f5-4930-b26d-ef9281bb7ecb", "2Xiljy4xzbc", 368, false, "https://www.youtube.com/watch?v=2Xiljy4xzbc", 19, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e090900_I built the same game with Astra and Fable 5.1... only one was fun.mp4", false, false, false, 36, [], 98, ~U[2026-09-09 16:34:27Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Get 20% off Mobbin Pro to help your agent design UIs that actually convert - https://mobbin.com/fireship\n\nNow that Astra is actually available to use, let's see if it lives up to the hype.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "I built the same game with Astra and Fable 5.1... only one was fun", "2Xiljy4xzbc", 368, false, "https://www.youtube.com/watch?v=2Xiljy4xzbc", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e090900_I built the same game with Astra and Fable 5.1... only one was fun.mp4", false, 36, ~U[2026-09-09 16:34:27Z]] 14:25:50.603 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [36] 14:25:50.605 [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-09-07 17:24:51Z], 36] 14:25:50.606 [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" ["Get 67% off VPS hosting with Hostinger's one-click templates. Use code FIRESHIP for an extra discount - https://hostinger.com/fireship\n\nIn this video we cover 5 free and open-source tools that'll help you cut token costs. Let's dive in.\n\n- Ollama\n- 9router\n- Headroom\n- Diffy\n- OpenHands\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "5 open source tools that replaced my $320/mo AI stack...", "ff108bff-f9d5-4b5c-8736-8884969d1cca", "Y5rSSvXfL4g", 326, false, "https://www.youtube.com/watch?v=Y5rSSvXfL4g", 20, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e090700_5 open source tools that replaced my $320⧸mo AI stack....mp4", false, false, false, 36, [], 98, ~U[2026-09-07 17:24:51Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "Get 67% off VPS hosting with Hostinger's one-click templates. Use code FIRESHIP for an extra discount - https://hostinger.com/fireship\n\nIn this video we cover 5 free and open-source tools that'll help you cut token costs. Let's dive in.\n\n- Ollama\n- 9router\n- Headroom\n- Diffy\n- OpenHands\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "5 open source tools that replaced my $320/mo AI stack...", "Y5rSSvXfL4g", 326, false, "https://www.youtube.com/watch?v=Y5rSSvXfL4g", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e090700_5 open source tools that replaced my $320⧸mo AI stack....mp4", false, 36, ~U[2026-09-07 17:24:51Z]] 14:25:50.606 [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] 14:25:50.607 [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-09-04 20:14:12Z], 36] 14:25:50.608 [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" ["CodeRabbit Security protects your code from AI-driven exploits. Get 10 free code scans here: https://coderabbit.link/fireship-010\n\nOpenAI finally announced GPT-6 Astra which they're claiming is AGI... Let's see if that's true.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did OpenAI actually build AGI? GPT-6 Astra first look", "757f13d2-0f12-4250-b9ab-0c35706e7398", "FluKUJyeYD8", 446, false, "https://www.youtube.com/watch?v=FluKUJyeYD8", 21, "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e090400_Did OpenAI actually build AGI? GPT-6 Astra first look.mp4", false, false, false, 36, [], 98, ~U[2026-09-04 20:14:12Z], ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], "CodeRabbit Security protects your code from AI-driven exploits. Get 10 free code scans here: https://coderabbit.link/fireship-010\n\nOpenAI finally announced GPT-6 Astra which they're claiming is AGI... Let's see if that's true.\n\n#coding #programming\n\nWant more Fireship?\n\n🗞️ Newsletter: https://bytes.dev\n🧠 Courses: https://fireship.dev", "Did OpenAI actually build AGI? GPT-6 Astra first look", "FluKUJyeYD8", 446, false, "https://www.youtube.com/watch?v=FluKUJyeYD8", "/downloads/chris/tubes/Fireship_[UCsBjURrPoezykLs9EqgamOA]/Season 2026/s2026e090400_Did OpenAI actually build AGI? GPT-6 Astra first look.mp4", false, 36, ~U[2026-09-04 20:14:12Z]] 14:25:50.609 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z], 36] 14:25:50.610 [debug] QUERY OK source="media_items" db=1.4ms idle=3.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 14:25:50.612 [debug] QUERY OK source="media_items" db=1.3ms idle=4.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] 14:25:50.612 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [36] 14:25:50.612 [info] No notification servers provided for source 36 14:25:50.614 [debug] QUERY OK source="tasks" db=0.5ms idle=3.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541625, 36, ~U[2026-10-26 19:25:50Z], ~U[2026-10-26 19:25:50Z]] 14:25:50.614 [info] {"args":{"id":36},"id":541308,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":51650199,"event":"job:stop","queue_time":753257,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:26:00.300 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:26:00.624 [info] {"source":"oban","duration":9416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:06.046 [info] {"args":{"id":3647632},"id":541622,"meta":{},"system_time":1793042766046393346,"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"]} 14:26:06.046 [debug] QUERY OK source="media_items" db=0.3ms idle=1587.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" = ?) [3647632] 14:26:06.047 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:26:06.047 [debug] QUERY OK source="sources" db=0.1ms idle=1588.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:26:06.047 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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] 14:26:06.048 [debug] QUERY OK source="media_items" db=0.8ms 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 [3647632] 14:26:06.050 [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" = ?) [3647632] 14:26:06.050 [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] 14:26:06.050 [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 [] 14:26:06.051 [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 [] 14:26:06.051 [debug] Running yt-dlp command for action: get_downloadable_status 14:26:06.052 [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 [] 14:26:06.053 [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 [] 14:26:06.053 [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 [] 14:26:06.053 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/50/dd/50dd12794b5408494880e68739433ec319943b10b43ce016c31855187dfcb073.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:08.162 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/50/dd/50dd12794b5408494880e68739433ec319943b10b43ce016c31855187dfcb073.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:26:08.162 [error] yt-dlp download error for media item #3647632: "ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:26:08.162 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3647632},"id":541622,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2115988,"event":"job:exception","queue_time":1005595,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:30.631 [info] {"source":"oban","duration":7363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:40.093 [info] {"args":{"id":3647632},"id":541622,"meta":{},"system_time":1793042800092956799,"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"]} 14:26:40.093 [debug] QUERY OK source="media_items" db=0.2ms idle=634.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" = ?) [3647632] 14:26:40.093 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:26:40.093 [debug] QUERY OK source="sources" db=0.2ms idle=634.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:26:40.094 [debug] QUERY OK source="media_profiles" db=0.1ms idle=635.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] 14:26:40.094 [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 [3647632] 14:26:40.096 [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" = ?) [3647632] 14:26:40.097 [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] 14:26:40.097 [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 [] 14:26:40.097 [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 [] 14:26:40.097 [debug] Running yt-dlp command for action: get_downloadable_status 14:26:40.098 [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 [] 14:26:40.098 [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 [] 14:26:40.098 [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 [] 14:26:40.099 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c8/73/c873bc2b4eaf42d26a0ae763cf76f2d44757f2ba51af6defd85833358ce6660d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:41.995 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c8/73/c873bc2b4eaf42d26a0ae763cf76f2d44757f2ba51af6defd85833358ce6660d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:26:41.996 [error] yt-dlp download error for media item #3647632: "ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:26:41.996 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3647632},"id":541622,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1903265,"event":"job:exception","queue_time":929128,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:27:00.301 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:27:00.639 [info] {"source":"oban","duration":7247,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:27:30.649 [info] {"source":"oban","duration":9338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:32.153 [info] {"args":{"id":3647632},"id":541622,"meta":{},"system_time":1793042852153866280,"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"]} 14:27:32.154 [debug] QUERY OK source="media_items" db=0.1ms idle=1008.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" = ?) [3647632] 14:27:32.154 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:27:32.154 [debug] QUERY OK source="sources" db=0.1ms idle=695.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:27:32.155 [debug] QUERY OK source="media_profiles" db=0.1ms idle=696.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] 14:27:32.155 [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 [3647632] 14:27:32.158 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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" = ?) [3647632] 14:27:32.158 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 14:27:32.158 [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 [] 14:27:32.158 [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 [] 14:27:32.158 [debug] Running yt-dlp command for action: get_downloadable_status 14:27:32.160 [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 [] 14:27:32.160 [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 [] 14:27:32.160 [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 [] 14:27:32.160 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/84/eb/84eb2a1e9d8155833d533d43246d9d76f6ef8268201ebc2de4713a7e31662a40.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:27:34.733 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/84/eb/84eb2a1e9d8155833d533d43246d9d76f6ef8268201ebc2de4713a7e31662a40.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:27:34.733 [error] yt-dlp download error for media item #3647632: "ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:27:34.734 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3647632},"id":541622,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2580084,"event":"job:exception","queue_time":156295,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:28:00.303 [info] {"source":"oban","duration":289,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:28:00.660 [info] {"source":"oban","duration":9953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:30.671 [info] {"source":"oban","duration":9722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:56.248 [info] {"args":{"id":3647632},"id":541622,"meta":{},"system_time":1793042936248611339,"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"]} 14:28:56.249 [debug] QUERY OK source="media_items" db=0.2ms idle=1790.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" = ?) [3647632] 14:28:56.249 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:28:56.249 [debug] QUERY OK source="sources" db=0.2ms idle=1009.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:28:56.250 [debug] QUERY OK source="media_profiles" db=0.7ms idle=791.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] 14:28:56.251 [debug] QUERY OK source="media_items" db=0.8ms 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 [3647632] 14:28:56.253 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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" = ?) [3647632] 14:28:56.253 [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] 14:28:56.253 [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 [] 14:28:56.253 [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 [] 14:28:56.254 [debug] Running yt-dlp command for action: get_downloadable_status 14:28:56.254 [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 [] 14:28:56.255 [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 [] 14:28:56.255 [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 [] 14:28:56.255 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/63/20/6320e9f7541e4b50d52b5288a1085e2193d254ab132560ffb3f4a6429b62e020.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:28:58.558 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/63/20/6320e9f7541e4b50d52b5288a1085e2193d254ab132560ffb3f4a6429b62e020.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:28:58.558 [error] yt-dlp download error for media item #3647632: "ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:28:58.559 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3647632},"id":541622,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2310196,"event":"job:exception","queue_time":513565,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:00.303 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:29:00.679 [info] {"source":"oban","duration":7623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:30.688 [info] {"source":"oban","duration":9269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:55.323 [info] {"args":{"id":45},"id":541517,"meta":{},"system_time":1793042995323487527,"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"]} 14:29:55.324 [debug] QUERY OK source="sources" db=0.6ms idle=865.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:29:55.325 [debug] QUERY OK source="settings" db=0.6ms idle=865.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:55.327 [debug] QUERY OK source="media_items" db=1.8ms idle=866.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")))) [45] 14:29:55.327 [debug] QUERY OK source="media_items" db=0.3ms idle=10.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [45] 14:29:55.327 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 14:29:55.328 [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 [] 14:29:55.328 [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 [] 14:29:55.336 [debug] QUERY OK source="media_items" db=1.6ms idle=7.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [45] 14:29:55.338 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:29:55.338 [debug] Current batch of media processed. Will check again in 1000ms 14:29:55.338 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:55.338 [debug] QUERY OK source="settings" db=0.0ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:55.338 [debug] QUERY OK source="settings" db=0.0ms idle=10.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:55.338 [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/7c/71/7c71b975ca43c339e11fed2425ccfcd9787548fe8aef16d1b3c200b050b44ce6.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/25/7c/257cbaa7f5c9eeb5b92c391148de878d2ac2fcf858549b7c0a1119805e3416c2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:56.338 [debug] Current batch of media processed. Will check again in 1000ms 14:29:57.339 [debug] Current batch of media processed. Will check again in 1000ms 14:29:58.340 [debug] Current batch of media processed. Will check again in 1000ms 14:29:59.341 [debug] Current batch of media processed. Will check again in 1000ms 14:30:00.304 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:30:00.342 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss the 8 eMudhra certificate authority private keys that used less than 8 bits of entropy and could have allowed hackers to hijack the web traffic of thousands of websites.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 684, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102400_This Company Used The Worst Private Keys Ever.mp4", "id" => "09fUpgAlRRU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=09fUpgAlRRU", "playlist_index" => 1, "timestamp" => 1792803896, "title" => "This Company Used The Worst Private Keys Ever", "upload_date" => "20261024"} 14:30:00.343 [debug] QUERY OK source="sources" db=0.1ms idle=1884.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:00.343 [debug] QUERY OK source="sources" db=0.1ms idle=1884.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:00.345 [debug] QUERY OK source="media_items" db=1.8ms idle=1022.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 01:04:56Z], 45] 14:30:00.349 [debug] QUERY OK source="media_items" db=3.4ms idle=41.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 8 eMudhra certificate authority private keys that used less than 8 bits of entropy and could have allowed hackers to hijack the web traffic of thousands of websites.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "This Company Used The Worst Private Keys Ever", "bd18f384-b61e-463f-9939-0dd59806a280", "09fUpgAlRRU", 684, false, "https://www.youtube.com/watch?v=09fUpgAlRRU", 1, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102400_This Company Used The Worst Private Keys Ever.mp4", false, false, false, 45, [], 98, ~U[2026-10-24 01:04:56Z], ~U[2026-10-26 19:30:00Z], ~U[2026-10-26 19:30:00Z], "In this video I discuss the 8 eMudhra certificate authority private keys that used less than 8 bits of entropy and could have allowed hackers to hijack the web traffic of thousands of websites.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "This Company Used The Worst Private Keys Ever", "09fUpgAlRRU", 684, false, "https://www.youtube.com/watch?v=09fUpgAlRRU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102400_This Company Used The Worst Private Keys Ever.mp4", false, 45, ~U[2026-10-24 01:04:56Z]] 14:30:00.349 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:00.350 [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] 14:30:00.350 [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 [4225813] 14:30:00.350 [debug] Current batch of media processed. Will check again in 1000ms 14:30:00.697 [info] {"source":"oban","duration":7835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:01.351 [debug] Current batch of media processed. Will check again in 1000ms 14:30:02.352 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss the PHP2Shell Bug which is most severe PHP RCE bug to be discovered this decade, and because of it's poor disclosure process hundreds of websites had to be taken offline while the engineers responsible for their security waited for emergency patches to drop a day earlier than expected.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 754, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102300_The PHP Bug That Broke The Internet.mp4", "id" => "yQMIxUWse6M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yQMIxUWse6M", "playlist_index" => 2, "timestamp" => 1792717444, "title" => "The PHP Bug That Broke The Internet", "upload_date" => "20261023"} 14:30:02.353 [debug] QUERY OK source="sources" db=0.1ms idle=1029.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:02.353 [debug] QUERY OK source="sources" db=0.1ms idle=894.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:02.354 [debug] QUERY OK source="media_items" db=1.3ms idle=894.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-23 01:04:04Z], 45] 14:30:02.356 [debug] QUERY OK source="media_items" db=0.9ms idle=896.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 the PHP2Shell Bug which is most severe PHP RCE bug to be discovered this decade, and because of it's poor disclosure process hundreds of websites had to be taken offline while the engineers responsible for their security waited for emergency patches to drop a day earlier than expected.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 PHP Bug That Broke The Internet", "6d694925-0244-4b59-b5ce-acbdec84b6ec", "yQMIxUWse6M", 754, false, "https://www.youtube.com/watch?v=yQMIxUWse6M", 2, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102300_The PHP Bug That Broke The Internet.mp4", false, false, false, 45, [], 98, ~U[2026-10-23 01:04:04Z], ~U[2026-10-26 19:30:02Z], ~U[2026-10-26 19:30:02Z], "In this video I discuss the PHP2Shell Bug which is most severe PHP RCE bug to be discovered this decade, and because of it's poor disclosure process hundreds of websites had to be taken offline while the engineers responsible for their security waited for emergency patches to drop a day earlier than expected.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 PHP Bug That Broke The Internet", "yQMIxUWse6M", 754, false, "https://www.youtube.com/watch?v=yQMIxUWse6M", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102300_The PHP Bug That Broke The Internet.mp4", false, 45, ~U[2026-10-23 01:04:04Z]] 14:30:02.356 [debug] QUERY OK source="sources" db=0.6ms idle=32.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:30:02.357 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:02.357 [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 [4217879] 14:30:02.357 [debug] Current batch of media processed. Will check again in 1000ms 14:30:03.358 [debug] Current batch of media processed. Will check again in 1000ms 14:30:04.359 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I explain how a zero day vulnerability in Dread's anti DDoS software, along with it's head technical admin accidentally uploading a private key, lead to the sites main onion domain getting hijacked, and the site being taken offline temporarily. I also discuss the hackers attempt to launch their own dark web forum and my opinions on how this could affect the dark web as a whole.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 1129, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102100_The Dark Webs Most Popular Forum Got Hacked.mp4", "id" => "n3_sMAAERwo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=n3_sMAAERwo", "playlist_index" => 3, "timestamp" => 1792626301, "title" => "The Dark Webs Most Popular Forum Got Hacked", "upload_date" => "20261021"} 14:30:04.360 [debug] QUERY OK source="sources" db=0.1ms idle=901.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 14:30:04.360 [debug] QUERY OK source="sources" db=0.1ms idle=901.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:04.361 [debug] QUERY OK source="media_items" db=1.3ms idle=901.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 23:45:01Z], 45] 14:30:04.364 [debug] QUERY OK source="media_items" db=2.0ms idle=903.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 explain how a zero day vulnerability in Dread's anti DDoS software, along with it's head technical admin accidentally uploading a private key, lead to the sites main onion domain getting hijacked, and the site being taken offline temporarily. I also discuss the hackers attempt to launch their own dark web forum and my opinions on how this could affect the dark web as a whole.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Dark Webs Most Popular Forum Got Hacked", "0a08757c-b3f6-4949-8b0a-198e4d67fe13", "n3_sMAAERwo", 1129, false, "https://www.youtube.com/watch?v=n3_sMAAERwo", 3, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102100_The Dark Webs Most Popular Forum Got Hacked.mp4", false, false, false, 45, [], 98, ~U[2026-10-21 23:45:01Z], ~U[2026-10-26 19:30:04Z], ~U[2026-10-26 19:30:04Z], "In this video I explain how a zero day vulnerability in Dread's anti DDoS software, along with it's head technical admin accidentally uploading a private key, lead to the sites main onion domain getting hijacked, and the site being taken offline temporarily. I also discuss the hackers attempt to launch their own dark web forum and my opinions on how this could affect the dark web as a whole.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Dark Webs Most Popular Forum Got Hacked", "n3_sMAAERwo", 1129, false, "https://www.youtube.com/watch?v=n3_sMAAERwo", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102100_The Dark Webs Most Popular Forum Got Hacked.mp4", false, 45, ~U[2026-10-21 23:45:01Z]] 14:30:04.364 [debug] QUERY OK source="sources" db=0.1ms idle=37.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:04.364 [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] 14:30:04.365 [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 [4208654] 14:30:04.365 [debug] Current batch of media processed. Will check again in 1000ms 14:30:05.365 [debug] Current batch of media processed. Will check again in 1000ms 14:30:06.366 [debug] Current batch of media processed. Will check again in 1000ms 14:30:07.367 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss Art Craft, with a focus on Photo Craft which is an open source clone of Adobe's Photoshop program that works natively on Linux and FreeBSD at no cost without the need for Wine or other compatibility layers.\n\nTry Art Craft programs yourself\nhttps://getartcraft.com/apps\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 619, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e101700_Art Craft Cloned Adobe Creative Cloud and Made it Open Source.mp4", "id" => "Hr2ARNsKwHA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Hr2ARNsKwHA", "playlist_index" => 4, "timestamp" => 1792195967, "title" => "Art Craft Cloned Adobe Creative Cloud and Made it Open Source", "upload_date" => "20261017"} 14:30:07.368 [debug] QUERY OK source="sources" db=0.2ms idle=1909.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:07.368 [debug] QUERY OK source="sources" db=0.0ms idle=1909.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:07.369 [debug] QUERY OK source="media_items" db=1.3ms idle=1909.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-17 00:12:47Z], 45] 14:30:07.371 [debug] QUERY OK source="media_items" db=1.0ms idle=1041.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 Art Craft, with a focus on Photo Craft which is an open source clone of Adobe's Photoshop program that works natively on Linux and FreeBSD at no cost without the need for Wine or other compatibility layers.\n\nTry Art Craft programs yourself\nhttps://getartcraft.com/apps\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Art Craft Cloned Adobe Creative Cloud and Made it Open Source", "f6ce919a-d4ac-4b13-a1a5-9b3c3b01c649", "Hr2ARNsKwHA", 619, false, "https://www.youtube.com/watch?v=Hr2ARNsKwHA", 4, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e101700_Art Craft Cloned Adobe Creative Cloud and Made it Open Source.mp4", false, false, false, 45, [], 98, ~U[2026-10-17 00:12:47Z], ~U[2026-10-26 19:30:07Z], ~U[2026-10-26 19:30:07Z], "In this video I discuss Art Craft, with a focus on Photo Craft which is an open source clone of Adobe's Photoshop program that works natively on Linux and FreeBSD at no cost without the need for Wine or other compatibility layers.\n\nTry Art Craft programs yourself\nhttps://getartcraft.com/apps\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Art Craft Cloned Adobe Creative Cloud and Made it Open Source", "Hr2ARNsKwHA", 619, false, "https://www.youtube.com/watch?v=Hr2ARNsKwHA", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e101700_Art Craft Cloned Adobe Creative Cloud and Made it Open Source.mp4", false, 45, ~U[2026-10-17 00:12:47Z]] 14:30:07.371 [debug] QUERY OK source="sources" db=0.1ms idle=41.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:07.371 [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] 14:30:07.372 [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 [4169173] 14:30:07.372 [debug] Current batch of media processed. Will check again in 1000ms 14:30:08.372 [debug] Current batch of media processed. Will check again in 1000ms 14:30:09.373 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss the biggest update to F-Droid in years, better search features and a more modern looking user interface.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 618, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e092700_F-Droid 2.0 - The Biggest Update In Years.mp4", "id" => "i_T9ARBP3nw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i_T9ARBP3nw", "playlist_index" => 5, "timestamp" => 1790543486, "title" => "F-Droid 2.0 - The Biggest Update In Years", "upload_date" => "20260927"} 14:30:09.374 [debug] QUERY OK source="sources" db=0.1ms idle=915.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:09.374 [debug] QUERY OK source="sources" db=0.1ms idle=915.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:09.376 [debug] QUERY OK source="media_items" db=1.3ms idle=915.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-27 21:11:26Z], 45] 14:30:09.377 [debug] QUERY OK source="media_items" db=0.8ms idle=917.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 biggest update to F-Droid in years, better search features and a more modern looking user interface.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "F-Droid 2.0 - The Biggest Update In Years", "fe14fc36-983e-4ed1-809b-a62f22c4173c", "i_T9ARBP3nw", 618, false, "https://www.youtube.com/watch?v=i_T9ARBP3nw", 5, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e092700_F-Droid 2.0 - The Biggest Update In Years.mp4", false, false, false, 45, [], 98, ~U[2026-09-27 21:11:26Z], ~U[2026-10-26 19:30:09Z], ~U[2026-10-26 19:30:09Z], "In this video I discuss the biggest update to F-Droid in years, better search features and a more modern looking user interface.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "F-Droid 2.0 - The Biggest Update In Years", "i_T9ARBP3nw", 618, false, "https://www.youtube.com/watch?v=i_T9ARBP3nw", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e092700_F-Droid 2.0 - The Biggest Update In Years.mp4", false, 45, ~U[2026-09-27 21:11:26Z]] 14:30:09.377 [debug] QUERY OK source="sources" db=0.1ms idle=44.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:30:09.377 [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] 14:30:09.378 [debug] QUERY OK source="media_items" db=0.1ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4020618] 14:30:09.378 [debug] Current batch of media processed. Will check again in 1000ms 14:30:10.378 [debug] Current batch of media processed. Will check again in 1000ms 14:30:11.379 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I review Omarchy OS and some of the agentic workflows you can perform on it. It's an interesting experience and requires little configuration for AI workflows besides signing into accounts or pasting in API keys but there's also several security concerns with it.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 1793, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091700_Omarchy - The Agentic Linux Desktop.mp4", "id" => "r1TGWAIoWy0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=r1TGWAIoWy0", "playlist_index" => 6, "timestamp" => 1789687065, "title" => "Omarchy - The Agentic Linux Desktop", "upload_date" => "20260917"} 14:30:11.380 [debug] QUERY OK source="sources" db=0.1ms idle=921.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:11.380 [debug] QUERY OK source="sources" db=0.1ms idle=921.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:11.382 [debug] QUERY OK source="media_items" db=1.4ms idle=921.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-17 23:17:45Z], 45] 14:30:11.384 [debug] QUERY OK source="media_items" db=1.9ms idle=923.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 review Omarchy OS and some of the agentic workflows you can perform on it. It's an interesting experience and requires little configuration for AI workflows besides signing into accounts or pasting in API keys but there's also several security concerns with it.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Omarchy - The Agentic Linux Desktop", "45534be6-156a-422b-8f5c-521c9d8c3a22", "r1TGWAIoWy0", 1793, false, "https://www.youtube.com/watch?v=r1TGWAIoWy0", 6, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091700_Omarchy - The Agentic Linux Desktop.mp4", false, false, false, 45, [], 98, ~U[2026-09-17 23:17:45Z], ~U[2026-10-26 19:30:11Z], ~U[2026-10-26 19:30:11Z], "In this video I review Omarchy OS and some of the agentic workflows you can perform on it. It's an interesting experience and requires little configuration for AI workflows besides signing into accounts or pasting in API keys but there's also several security concerns with it.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Omarchy - The Agentic Linux Desktop", "r1TGWAIoWy0", 1793, false, "https://www.youtube.com/watch?v=r1TGWAIoWy0", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091700_Omarchy - The Agentic Linux Desktop.mp4", false, 45, ~U[2026-09-17 23:17:45Z]] 14:30:11.384 [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] 14:30:11.385 [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] 14:30:11.385 [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 [3945764] 14:30:11.385 [debug] Current batch of media processed. Will check again in 1000ms 14:30:12.386 [debug] Current batch of media processed. Will check again in 1000ms 14:30:13.387 [debug] Current batch of media processed. Will check again in 1000ms 14:30:14.388 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how easily compromised home security systems can leave you more unsafe than not having it in the first place.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 558, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091000_When Home Security Gets Hijacked.mp4", "id" => "CGSRA1Wo7AA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CGSRA1Wo7AA", "playlist_index" => 7, "timestamp" => 1789070780, "title" => "When Home Security Gets Hijacked", "upload_date" => "20260910"} 14:30:14.389 [debug] QUERY OK source="sources" db=0.1ms idle=1930.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:14.389 [debug] QUERY OK source="sources" db=0.1ms idle=1930.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:14.391 [debug] QUERY OK source="media_items" db=1.4ms idle=1930.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-10 20:06:20Z], 45] 14:30:14.392 [debug] QUERY OK source="media_items" db=1.2ms idle=1052.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 easily compromised home security systems can leave you more unsafe than not having it in the first place.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Home Security Gets Hijacked", "9ffff289-73ab-403d-b05f-326b7c71ba86", "CGSRA1Wo7AA", 558, false, "https://www.youtube.com/watch?v=CGSRA1Wo7AA", 7, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091000_When Home Security Gets Hijacked.mp4", false, false, false, 45, [], 98, ~U[2026-09-10 20:06:20Z], ~U[2026-10-26 19:30:14Z], ~U[2026-10-26 19:30:14Z], "In this video I discuss how easily compromised home security systems can leave you more unsafe than not having it in the first place.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Home Security Gets Hijacked", "CGSRA1Wo7AA", 558, false, "https://www.youtube.com/watch?v=CGSRA1Wo7AA", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091000_When Home Security Gets Hijacked.mp4", false, 45, ~U[2026-09-10 20:06:20Z]] 14:30:14.393 [debug] QUERY OK source="sources" db=0.1ms idle=52.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:30:14.393 [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] 14:30:14.393 [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 [3889081] 14:30:14.393 [debug] Current batch of media processed. Will check again in 1000ms 14:30:15.394 [debug] Current batch of media processed. Will check again in 1000ms 14:30:16.395 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how X (the platform formerly known as twitter) sent cease and desist letters to the operators of nitter.net, xcancel, and other various twitter front end alternatives and claimed that scraping twitter and then serving up posts for people to view on other platforms without X's permission is illegal. At least one Nitter operator is seeking to fight against X's copyright violation claims.\nhttps://poa.st/@graf/posts/B9jPAYjrTmfPW3q9R2\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 861, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082900_X Has Shut Down Nitter.mp4", "id" => "u38-b7E3bSU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=u38-b7E3bSU", "playlist_index" => 8, "timestamp" => 1787961932, "title" => "X Has Shut Down Nitter", "upload_date" => "20260829"} 14:30:16.396 [debug] QUERY OK source="sources" db=0.1ms idle=937.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:16.396 [debug] QUERY OK source="sources" db=0.1ms idle=937.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:16.397 [debug] QUERY OK source="media_items" db=1.4ms idle=937.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-29 00:05:32Z], 45] 14:30:16.399 [debug] QUERY OK source="media_items" db=1.2ms idle=939.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 X (the platform formerly known as twitter) sent cease and desist letters to the operators of nitter.net, xcancel, and other various twitter front end alternatives and claimed that scraping twitter and then serving up posts for people to view on other platforms without X's permission is illegal. At least one Nitter operator is seeking to fight against X's copyright violation claims.\nhttps://poa.st/@graf/posts/B9jPAYjrTmfPW3q9R2\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "X Has Shut Down Nitter", "18f10813-1c28-4707-a68d-10b1f32431b7", "u38-b7E3bSU", 861, false, "https://www.youtube.com/watch?v=u38-b7E3bSU", 8, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082900_X Has Shut Down Nitter.mp4", false, false, false, 45, [], 98, ~U[2026-08-29 00:05:32Z], ~U[2026-10-26 19:30:16Z], ~U[2026-10-26 19:30:16Z], "In this video I discuss how X (the platform formerly known as twitter) sent cease and desist letters to the operators of nitter.net, xcancel, and other various twitter front end alternatives and claimed that scraping twitter and then serving up posts for people to view on other platforms without X's permission is illegal. At least one Nitter operator is seeking to fight against X's copyright violation claims.\nhttps://poa.st/@graf/posts/B9jPAYjrTmfPW3q9R2\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "X Has Shut Down Nitter", "u38-b7E3bSU", 861, false, "https://www.youtube.com/watch?v=u38-b7E3bSU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082900_X Has Shut Down Nitter.mp4", false, 45, ~U[2026-08-29 00:05:32Z]] 14:30:16.399 [debug] QUERY OK source="sources" db=0.1ms idle=56.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:30:16.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] 14:30:16.400 [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 [3787737] 14:30:16.400 [debug] Current batch of media processed. Will check again in 1000ms 14:30:17.400 [debug] Current batch of media processed. Will check again in 1000ms 14:30:18.401 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how different kinds of ad blockers work, including browser based ad blockers and network wide DNS filters.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 841, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082200_How Ad Blockers Work.mp4", "id" => "ddCLuQLMq_8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ddCLuQLMq_8", "playlist_index" => 9, "timestamp" => 1787357970, "title" => "How Ad Blockers Work", "upload_date" => "20260822"} 14:30:18.402 [debug] QUERY OK source="sources" db=0.1ms idle=943.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:18.402 [debug] QUERY OK source="sources" db=0.1ms idle=943.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:18.404 [debug] QUERY OK source="media_items" db=1.5ms idle=943.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-22 00:19:30Z], 45] 14:30:18.407 [debug] QUERY OK source="media_items" db=2.6ms idle=945.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 different kinds of ad blockers work, including browser based ad blockers and network wide DNS filters.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Ad Blockers Work", "57c66d4e-24dd-43a8-8ea8-765f1f5a6d74", "ddCLuQLMq_8", 841, false, "https://www.youtube.com/watch?v=ddCLuQLMq_8", 9, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082200_How Ad Blockers Work.mp4", false, false, false, 45, [], 98, ~U[2026-08-22 00:19:30Z], ~U[2026-10-26 19:30:18Z], ~U[2026-10-26 19:30:18Z], "In this video I discuss how different kinds of ad blockers work, including browser based ad blockers and network wide DNS filters.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Ad Blockers Work", "ddCLuQLMq_8", 841, false, "https://www.youtube.com/watch?v=ddCLuQLMq_8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082200_How Ad Blockers Work.mp4", false, 45, ~U[2026-08-22 00:19:30Z]] 14:30:18.407 [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" = ?) [45] 14:30:18.407 [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] 14:30:18.408 [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 [3732981] 14:30:18.408 [debug] Current batch of media processed. Will check again in 1000ms 14:30:19.408 [debug] Current batch of media processed. Will check again in 1000ms 14:30:20.409 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how the European Digital Identity program's implementation could make Linux phones, older Android devices, and Android phones with custom ROM's unable to access online services.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 549, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e080900_EU's Digital ID is Killing the Open Phone Market.mp4", "id" => "WEHVIofDFJ4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WEHVIofDFJ4", "playlist_index" => 10, "timestamp" => 1786313915, "title" => "EU's Digital ID is Killing the Open Phone Market", "upload_date" => "20260809"} 14:30:20.410 [debug] QUERY OK source="sources" db=0.1ms idle=951.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:20.410 [debug] QUERY OK source="sources" db=0.1ms idle=951.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:20.412 [debug] QUERY OK source="media_items" db=1.4ms idle=951.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-09 22:18:35Z], 45] 14:30:20.414 [debug] QUERY OK source="media_items" db=1.5ms idle=953.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 the European Digital Identity program's implementation could make Linux phones, older Android devices, and Android phones with custom ROM's unable to access online services.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "EU's Digital ID is Killing the Open Phone Market", "4fca3498-608f-4b3f-8bc8-0aa07a860d0d", "WEHVIofDFJ4", 549, false, "https://www.youtube.com/watch?v=WEHVIofDFJ4", 10, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e080900_EU's Digital ID is Killing the Open Phone Market.mp4", false, false, false, 45, [], 98, ~U[2026-08-09 22:18:35Z], ~U[2026-10-26 19:30:20Z], ~U[2026-10-26 19:30:20Z], "In this video I discuss how the European Digital Identity program's implementation could make Linux phones, older Android devices, and Android phones with custom ROM's unable to access online services.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "EU's Digital ID is Killing the Open Phone Market", "WEHVIofDFJ4", 549, false, "https://www.youtube.com/watch?v=WEHVIofDFJ4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e080900_EU's Digital ID is Killing the Open Phone Market.mp4", false, 45, ~U[2026-08-09 22:18:35Z]] 14:30:20.414 [debug] QUERY OK source="sources" db=0.2ms idle=64.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:20.414 [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] 14:30:20.415 [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 [3636159] 14:30:20.415 [debug] Current batch of media processed. Will check again in 1000ms 14:30:21.415 [debug] Current batch of media processed. Will check again in 1000ms 14:30:22.416 [debug] Current batch of media processed. Will check again in 1000ms 14:30:23.417 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how different federal agencies are attempting to prosecute people for the use of GrapheneOS features to erase data from their phones and make it more difficult to access.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 814, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e072900_The Government's War On GrapheneOS.mp4", "id" => "eDQtUwad5vg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eDQtUwad5vg", "playlist_index" => 11, "timestamp" => 1785360696, "title" => "The Government's War On GrapheneOS", "upload_date" => "20260729"} 14:30:23.418 [debug] QUERY OK source="sources" db=0.2ms idle=1959.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:23.418 [debug] QUERY OK source="sources" db=0.1ms idle=1959.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:23.420 [debug] QUERY OK source="media_items" db=1.3ms idle=1959.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 21:31:36Z], 45] 14:30:23.421 [debug] QUERY OK source="media_items" db=0.8ms idle=1069.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 different federal agencies are attempting to prosecute people for the use of GrapheneOS features to erase data from their phones and make it more difficult to access.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Government's War On GrapheneOS", "343238af-2744-4fdf-8572-914b79e8b694", "eDQtUwad5vg", 814, false, "https://www.youtube.com/watch?v=eDQtUwad5vg", 11, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e072900_The Government's War On GrapheneOS.mp4", false, false, false, 45, [], 98, ~U[2026-07-29 21:31:36Z], ~U[2026-10-26 19:30:23Z], ~U[2026-10-26 19:30:23Z], "In this video I discuss how different federal agencies are attempting to prosecute people for the use of GrapheneOS features to erase data from their phones and make it more difficult to access.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Government's War On GrapheneOS", "eDQtUwad5vg", 814, false, "https://www.youtube.com/watch?v=eDQtUwad5vg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e072900_The Government's War On GrapheneOS.mp4", false, 45, ~U[2026-07-29 21:31:36Z]] 14:30:23.421 [debug] QUERY OK source="sources" db=0.1ms idle=69.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:30:23.421 [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] 14:30:23.421 [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 [3550762] 14:30:23.422 [debug] Current batch of media processed. Will check again in 1000ms 14:30:24.422 [debug] Current batch of media processed. Will check again in 1000ms 14:30:25.423 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I explain how corporations are crushing the physical media industry to make more money off of consumers, wipe out the 2nd hand movie and games market, and control who is able to watch what where and when.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 1123, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e071000_The End of Physical Media.mp4", "id" => "D_zA3dQtEiQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=D_zA3dQtEiQ", "playlist_index" => 12, "timestamp" => 1783645479, "title" => "The End of Physical Media", "upload_date" => "20260710"} 14:30:25.424 [debug] QUERY OK source="sources" db=0.1ms idle=965.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:25.424 [debug] QUERY OK source="sources" db=0.1ms idle=965.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:25.426 [debug] QUERY OK source="media_items" db=1.4ms idle=966.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-10 01:04:39Z], 45] 14:30:25.427 [debug] QUERY OK source="media_items" db=0.8ms idle=967.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 explain how corporations are crushing the physical media industry to make more money off of consumers, wipe out the 2nd hand movie and games market, and control who is able to watch what where and when.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 End of Physical Media", "e18c5b29-3e68-4313-9656-11eadc58f643", "D_zA3dQtEiQ", 1123, false, "https://www.youtube.com/watch?v=D_zA3dQtEiQ", 12, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e071000_The End of Physical Media.mp4", false, false, false, 45, [], 98, ~U[2026-07-10 01:04:39Z], ~U[2026-10-26 19:30:25Z], ~U[2026-10-26 19:30:25Z], "In this video I explain how corporations are crushing the physical media industry to make more money off of consumers, wipe out the 2nd hand movie and games market, and control who is able to watch what where and when.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 End of Physical Media", "D_zA3dQtEiQ", 1123, false, "https://www.youtube.com/watch?v=D_zA3dQtEiQ", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e071000_The End of Physical Media.mp4", false, 45, ~U[2026-07-10 01:04:39Z]] 14:30:25.427 [debug] QUERY OK source="sources" db=0.1ms idle=73.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:25.428 [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] 14:30:25.428 [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 [3394980] 14:30:25.428 [debug] Current batch of media processed. Will check again in 1000ms 14:30:26.428 [debug] Current batch of media processed. Will check again in 1000ms 14:30:27.429 [debug] Current batch of media processed. Will check again in 1000ms 14:30:28.430 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video I discuss how police are misusing and abusing automated systems like facial recognition, shot spotter, and automated license plate readers (ALPRs) like Flock to wrongfully charge people with crime and traffic violations.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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" => 1109, "filename" => "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e070300_How Police Are Abusing AI Systems.mp4", "id" => "CDNc68cvaa4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CDNc68cvaa4", "playlist_index" => 13, "timestamp" => 1783095374, "title" => "How Police Are Abusing AI Systems", "upload_date" => "20260703"} 14:30:28.431 [debug] QUERY OK source="sources" db=0.2ms idle=1972.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:28.431 [debug] QUERY OK source="sources" db=0.2ms idle=1972.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:28.433 [debug] QUERY OK source="media_items" db=1.7ms idle=1973.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 16:16:14Z], 45] 14:30:28.435 [debug] QUERY OK source="media_items" db=1.2ms 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" ["In this video I discuss how police are misusing and abusing automated systems like facial recognition, shot spotter, and automated license plate readers (ALPRs) like Flock to wrongfully charge people with crime and traffic violations.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Police Are Abusing AI Systems", "25d4bbcc-b6af-43bd-ad80-b9935d6dfe8f", "CDNc68cvaa4", 1109, false, "https://www.youtube.com/watch?v=CDNc68cvaa4", 13, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e070300_How Police Are Abusing AI Systems.mp4", false, false, false, 45, [], 98, ~U[2026-07-03 16:16:14Z], ~U[2026-10-26 19:30:28Z], ~U[2026-10-26 19:30:28Z], "In this video I discuss how police are misusing and abusing automated systems like facial recognition, shot spotter, and automated license plate readers (ALPRs) like Flock to wrongfully charge people with crime and traffic violations.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Police Are Abusing AI Systems", "CDNc68cvaa4", 1109, false, "https://www.youtube.com/watch?v=CDNc68cvaa4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e070300_How Police Are Abusing AI Systems.mp4", false, 45, ~U[2026-07-03 16:16:14Z]] 14:30:28.436 [debug] QUERY OK source="sources" db=0.2ms idle=78.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:30:28.436 [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] 14:30:28.436 [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 [3344464] 14:30:28.436 [debug] Current batch of media processed. Will check again in 1000ms 14:30:29.437 [debug] Current batch of media processed. Will check again in 1000ms 14:30:30.438 [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" => 14, "timestamp" => 1782430242, "title" => "Your TV Might Be Part Of A Botnet", "upload_date" => "20260625"} 14:30:30.439 [debug] QUERY OK source="sources" db=0.2ms idle=980.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 14:30:30.439 [debug] QUERY OK source="sources" db=0.1ms idle=981.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:30.441 [debug] QUERY OK source="media_items" db=1.4ms idle=981.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 23:30:42Z], 45] 14:30:30.443 [debug] QUERY OK source="media_items" db=1.7ms idle=983.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", "7930a0d9-27bc-43ad-80df-af539d571c7c", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", 14, "/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-10-26 19:30:30Z], ~U[2026-10-26 19:30:30Z], "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]] 14:30:30.444 [debug] QUERY OK source="sources" db=0.1ms idle=83.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:30:30.444 [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] 14:30:30.444 [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 [3284625] 14:30:30.444 [debug] Current batch of media processed. Will check again in 1000ms 14:30:30.707 [info] {"source":"oban","duration":9194,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:31.445 [debug] Current batch of media processed. Will check again in 1000ms 14:30:32.446 [debug] Current batch of media processed. Will check again in 1000ms 14:30:33.447 [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" => 15, "timestamp" => 1781568506, "title" => "When Your Computer Gets Hacked Through A Bluetooth Speaker", "upload_date" => "20260616"} 14:30:33.448 [debug] QUERY OK source="sources" db=0.2ms idle=1989.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:33.448 [debug] QUERY OK source="sources" db=0.1ms idle=1989.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:33.450 [debug] QUERY OK source="media_items" db=1.3ms idle=1086.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] 14:30:33.452 [debug] QUERY OK source="media_items" db=2.5ms idle=991.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 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", "d64c5372-3249-4b75-8fc2-3533b439f678", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", 15, "/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-10-26 19:30:33Z], ~U[2026-10-26 19:30:33Z], "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]] 14:30:33.453 [debug] QUERY OK source="sources" db=0.2ms idle=89.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:30:33.453 [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] 14:30:33.454 [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 [3206020] 14:30:33.454 [debug] Current batch of media processed. Will check again in 1000ms 14:30:34.454 [debug] Current batch of media processed. Will check again in 1000ms 14:30:35.455 [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" => 16, "timestamp" => 1780689201, "title" => "Microsoft's Bug Bounty Betrayal Puts Everyone in Danger", "upload_date" => "20260605"} 14:30:35.456 [debug] QUERY OK source="sources" db=0.2ms idle=997.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:35.456 [debug] QUERY OK source="sources" db=0.1ms idle=998.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:35.458 [debug] QUERY OK source="media_items" db=1.7ms idle=998.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 19:53:21Z], 45] 14:30:35.461 [debug] QUERY OK source="media_items" db=1.8ms idle=1000.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", "27f90426-4915-4fbf-bb65-c8ff3ebc84ba", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", 16, "/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-10-26 19:30:35Z], ~U[2026-10-26 19:30:35Z], "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]] 14:30:35.461 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [45] 14:30:35.461 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:30:35.462 [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 [3124978] 14:30:35.462 [debug] Current batch of media processed. Will check again in 1000ms 14:30:36.463 [debug] Current batch of media processed. Will check again in 1000ms 14:30:37.464 [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" => 17, "timestamp" => 1780005229, "title" => "Linux Is Too Powerful For Age Check Laws", "upload_date" => "20260528"} 14:30:37.465 [debug] QUERY OK source="sources" db=0.2ms idle=95.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:37.465 [debug] QUERY OK source="sources" db=0.1ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:37.467 [debug] QUERY OK source="media_items" db=1.7ms 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-05-28 21:53:49Z], 45] 14:30:37.471 [debug] QUERY OK source="media_items" db=3.8ms 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" ["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", "cfe78221-f067-414e-b88c-a1719d7a5a1a", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", 17, "/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-10-26 19:30:37Z], ~U[2026-10-26 19:30:37Z], "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]] 14:30:37.472 [debug] QUERY OK source="sources" db=0.2ms idle=13.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:37.472 [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] 14:30:37.473 [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 [3063283] 14:30:37.473 [debug] Current batch of media processed. Will check again in 1000ms 14:30:38.473 [debug] Current batch of media processed. Will check again in 1000ms 14:30:39.474 [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" => 18, "timestamp" => 1779390068, "title" => "RCE Bug Found in NGINX (With AI Tools)", "upload_date" => "20260521"} 14:30:39.475 [debug] QUERY OK source="sources" db=0.2ms idle=103.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [45] 14:30:39.475 [debug] QUERY OK source="sources" db=0.1ms idle=16.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:39.477 [debug] QUERY OK source="media_items" db=1.6ms idle=17.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 19:01:08Z], 45] 14:30:39.480 [debug] QUERY OK source="media_items" db=2.2ms idle=19.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 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)", "8c0909da-b42e-4fa0-a25b-c42d73b74bc5", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", 18, "/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-10-26 19:30:39Z], ~U[2026-10-26 19:30:39Z], "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]] 14:30:39.480 [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" = ?) [45] 14:30:39.481 [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] 14:30:39.481 [debug] QUERY OK source="media_items" db=0.2ms 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 [3008138] 14:30:39.481 [debug] Current batch of media processed. Will check again in 1000ms 14:30:40.482 [debug] Current batch of media processed. Will check again in 1000ms 14:30:41.483 [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" => 19, "timestamp" => 1778963904, "title" => "A Hacker Found The BitLocker Backdoor", "upload_date" => "20260516"} 14:30:41.484 [debug] QUERY OK source="sources" db=0.2ms idle=110.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:41.484 [debug] QUERY OK source="sources" db=0.1ms idle=25.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:41.486 [debug] QUERY OK source="media_items" db=1.7ms idle=26.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-16 20:38:24Z], 45] 14:30:41.489 [debug] QUERY OK source="media_items" db=2.4ms idle=28.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", "52da1466-0fca-42eb-8501-cd58c30a8dc6", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", 19, "/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-10-26 19:30:41Z], ~U[2026-10-26 19:30:41Z], "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]] 14:30:41.490 [debug] QUERY OK source="sources" db=0.2ms idle=31.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:30:41.490 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:41.491 [debug] QUERY OK source="media_items" db=0.2ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2969802] 14:30:41.491 [debug] Current batch of media processed. Will check again in 1000ms 14:30:42.491 [debug] Current batch of media processed. Will check again in 1000ms 14:30:43.492 [debug] Current batch of media processed. Will check again in 1000ms 14:30:43.911 [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/7c/71/7c71b975ca43c339e11fed2425ccfcd9787548fe8aef16d1b3c200b050b44ce6.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/25/7c/257cbaa7f5c9eeb5b92c391148de878d2ac2fcf858549b7c0a1119805e3416c2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 14:30:43.911 [debug] Gracefully stopping file follower 14:30:43.912 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=535.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:30:43.912 [debug] QUERY OK source="sources" db=0.1ms idle=453.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:43.913 [debug] QUERY OK source="media_items" db=1.3ms idle=453.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 01:04:56Z], 45] 14:30:43.914 [debug] QUERY OK source="media_items" db=0.8ms idle=455.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 the 8 eMudhra certificate authority private keys that used less than 8 bits of entropy and could have allowed hackers to hijack the web traffic of thousands of websites.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "This Company Used The Worst Private Keys Ever", "a0c3acf4-a64d-4fce-97ed-8e50714af8a8", "09fUpgAlRRU", 684, false, "https://www.youtube.com/watch?v=09fUpgAlRRU", 1, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102400_This Company Used The Worst Private Keys Ever.mp4", false, false, false, 45, [], 98, ~U[2026-10-24 01:04:56Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I discuss the 8 eMudhra certificate authority private keys that used less than 8 bits of entropy and could have allowed hackers to hijack the web traffic of thousands of websites.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "This Company Used The Worst Private Keys Ever", "09fUpgAlRRU", 684, false, "https://www.youtube.com/watch?v=09fUpgAlRRU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102400_This Company Used The Worst Private Keys Ever.mp4", false, 45, ~U[2026-10-24 01:04:56Z]] 14:30:43.915 [debug] QUERY OK source="sources" db=0.1ms idle=456.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:30:43.916 [debug] QUERY OK source="media_items" db=1.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-10-23 01:04:04Z], 45] 14:30:43.917 [debug] QUERY OK source="media_items" db=0.8ms 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 the PHP2Shell Bug which is most severe PHP RCE bug to be discovered this decade, and because of it's poor disclosure process hundreds of websites had to be taken offline while the engineers responsible for their security waited for emergency patches to drop a day earlier than expected.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 PHP Bug That Broke The Internet", "b47bb998-df9d-4c87-8fdb-9e9be95f45fc", "yQMIxUWse6M", 754, false, "https://www.youtube.com/watch?v=yQMIxUWse6M", 2, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102300_The PHP Bug That Broke The Internet.mp4", false, false, false, 45, [], 98, ~U[2026-10-23 01:04:04Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I discuss the PHP2Shell Bug which is most severe PHP RCE bug to be discovered this decade, and because of it's poor disclosure process hundreds of websites had to be taken offline while the engineers responsible for their security waited for emergency patches to drop a day earlier than expected.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 PHP Bug That Broke The Internet", "yQMIxUWse6M", 754, false, "https://www.youtube.com/watch?v=yQMIxUWse6M", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102300_The PHP Bug That Broke The Internet.mp4", false, 45, ~U[2026-10-23 01:04:04Z]] 14:30:43.918 [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" = ?) [45] 14:30:43.919 [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-10-21 23:45:01Z], 45] 14:30:43.920 [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 explain how a zero day vulnerability in Dread's anti DDoS software, along with it's head technical admin accidentally uploading a private key, lead to the sites main onion domain getting hijacked, and the site being taken offline temporarily. I also discuss the hackers attempt to launch their own dark web forum and my opinions on how this could affect the dark web as a whole.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Dark Webs Most Popular Forum Got Hacked", "b3975b18-7f00-423a-9423-23ecfbe99ecb", "n3_sMAAERwo", 1129, false, "https://www.youtube.com/watch?v=n3_sMAAERwo", 3, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102100_The Dark Webs Most Popular Forum Got Hacked.mp4", false, false, false, 45, [], 98, ~U[2026-10-21 23:45:01Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I explain how a zero day vulnerability in Dread's anti DDoS software, along with it's head technical admin accidentally uploading a private key, lead to the sites main onion domain getting hijacked, and the site being taken offline temporarily. I also discuss the hackers attempt to launch their own dark web forum and my opinions on how this could affect the dark web as a whole.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Dark Webs Most Popular Forum Got Hacked", "n3_sMAAERwo", 1129, false, "https://www.youtube.com/watch?v=n3_sMAAERwo", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e102100_The Dark Webs Most Popular Forum Got Hacked.mp4", false, 45, ~U[2026-10-21 23:45:01Z]] 14:30:43.921 [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] 14:30:43.922 [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-10-17 00:12:47Z], 45] 14:30:43.923 [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 discuss Art Craft, with a focus on Photo Craft which is an open source clone of Adobe's Photoshop program that works natively on Linux and FreeBSD at no cost without the need for Wine or other compatibility layers.\n\nTry Art Craft programs yourself\nhttps://getartcraft.com/apps\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Art Craft Cloned Adobe Creative Cloud and Made it Open Source", "4ea205b8-16a0-4ef0-a902-ad7115be0084", "Hr2ARNsKwHA", 619, false, "https://www.youtube.com/watch?v=Hr2ARNsKwHA", 4, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e101700_Art Craft Cloned Adobe Creative Cloud and Made it Open Source.mp4", false, false, false, 45, [], 98, ~U[2026-10-17 00:12:47Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I discuss Art Craft, with a focus on Photo Craft which is an open source clone of Adobe's Photoshop program that works natively on Linux and FreeBSD at no cost without the need for Wine or other compatibility layers.\n\nTry Art Craft programs yourself\nhttps://getartcraft.com/apps\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Art Craft Cloned Adobe Creative Cloud and Made it Open Source", "Hr2ARNsKwHA", 619, false, "https://www.youtube.com/watch?v=Hr2ARNsKwHA", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e101700_Art Craft Cloned Adobe Creative Cloud and Made it Open Source.mp4", false, 45, ~U[2026-10-17 00:12:47Z]] 14:30:43.924 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:43.925 [debug] QUERY OK source="media_items" db=1.2ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-27 21:11:26Z], 45] 14:30:43.926 [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 discuss the biggest update to F-Droid in years, better search features and a more modern looking user interface.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "F-Droid 2.0 - The Biggest Update In Years", "d704bf1d-afd1-47c6-97ca-ee22f6295f63", "i_T9ARBP3nw", 618, false, "https://www.youtube.com/watch?v=i_T9ARBP3nw", 5, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e092700_F-Droid 2.0 - The Biggest Update In Years.mp4", false, false, false, 45, [], 98, ~U[2026-09-27 21:11:26Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I discuss the biggest update to F-Droid in years, better search features and a more modern looking user interface.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "F-Droid 2.0 - The Biggest Update In Years", "i_T9ARBP3nw", 618, false, "https://www.youtube.com/watch?v=i_T9ARBP3nw", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e092700_F-Droid 2.0 - The Biggest Update In Years.mp4", false, 45, ~U[2026-09-27 21:11:26Z]] 14:30:43.927 [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" = ?) [45] 14:30:43.928 [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-09-17 23:17:45Z], 45] 14:30:43.929 [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 review Omarchy OS and some of the agentic workflows you can perform on it. It's an interesting experience and requires little configuration for AI workflows besides signing into accounts or pasting in API keys but there's also several security concerns with it.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Omarchy - The Agentic Linux Desktop", "c5ef096e-fc15-4d26-8e04-dfc973742ca7", "r1TGWAIoWy0", 1793, false, "https://www.youtube.com/watch?v=r1TGWAIoWy0", 6, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091700_Omarchy - The Agentic Linux Desktop.mp4", false, false, false, 45, [], 98, ~U[2026-09-17 23:17:45Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I review Omarchy OS and some of the agentic workflows you can perform on it. It's an interesting experience and requires little configuration for AI workflows besides signing into accounts or pasting in API keys but there's also several security concerns with it.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "Omarchy - The Agentic Linux Desktop", "r1TGWAIoWy0", 1793, false, "https://www.youtube.com/watch?v=r1TGWAIoWy0", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091700_Omarchy - The Agentic Linux Desktop.mp4", false, 45, ~U[2026-09-17 23:17:45Z]] 14:30:43.930 [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] 14:30:43.931 [debug] QUERY OK source="media_items" db=1.2ms 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-09-10 20:06:20Z], 45] 14:30:43.932 [debug] QUERY OK source="media_items" db=0.8ms idle=4.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 easily compromised home security systems can leave you more unsafe than not having it in the first place.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Home Security Gets Hijacked", "1cbe46d6-5263-49e6-bf40-87b55384cf3c", "CGSRA1Wo7AA", 558, false, "https://www.youtube.com/watch?v=CGSRA1Wo7AA", 7, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091000_When Home Security Gets Hijacked.mp4", false, false, false, 45, [], 98, ~U[2026-09-10 20:06:20Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I discuss how easily compromised home security systems can leave you more unsafe than not having it in the first place.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Home Security Gets Hijacked", "CGSRA1Wo7AA", 558, false, "https://www.youtube.com/watch?v=CGSRA1Wo7AA", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e091000_When Home Security Gets Hijacked.mp4", false, 45, ~U[2026-09-10 20:06:20Z]] 14:30:43.933 [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" = ?) [45] 14:30:43.934 [debug] QUERY OK source="media_items" db=1.2ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-29 00:05:32Z], 45] 14:30:43.935 [debug] QUERY OK source="media_items" db=0.8ms 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 how X (the platform formerly known as twitter) sent cease and desist letters to the operators of nitter.net, xcancel, and other various twitter front end alternatives and claimed that scraping twitter and then serving up posts for people to view on other platforms without X's permission is illegal. At least one Nitter operator is seeking to fight against X's copyright violation claims.\nhttps://poa.st/@graf/posts/B9jPAYjrTmfPW3q9R2\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "X Has Shut Down Nitter", "559ea9b6-2c38-4476-9b37-c67004a1ce08", "u38-b7E3bSU", 861, false, "https://www.youtube.com/watch?v=u38-b7E3bSU", 8, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082900_X Has Shut Down Nitter.mp4", false, false, false, 45, [], 98, ~U[2026-08-29 00:05:32Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I discuss how X (the platform formerly known as twitter) sent cease and desist letters to the operators of nitter.net, xcancel, and other various twitter front end alternatives and claimed that scraping twitter and then serving up posts for people to view on other platforms without X's permission is illegal. At least one Nitter operator is seeking to fight against X's copyright violation claims.\nhttps://poa.st/@graf/posts/B9jPAYjrTmfPW3q9R2\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "X Has Shut Down Nitter", "u38-b7E3bSU", 861, false, "https://www.youtube.com/watch?v=u38-b7E3bSU", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082900_X Has Shut Down Nitter.mp4", false, 45, ~U[2026-08-29 00:05:32Z]] 14:30:43.936 [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] 14:30:43.937 [debug] QUERY OK source="media_items" db=1.2ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-22 00:19:30Z], 45] 14:30:43.938 [debug] QUERY OK source="media_items" db=0.7ms 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 different kinds of ad blockers work, including browser based ad blockers and network wide DNS filters.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Ad Blockers Work", "c354a904-ca29-48a6-8141-a913467e82c8", "ddCLuQLMq_8", 841, false, "https://www.youtube.com/watch?v=ddCLuQLMq_8", 9, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082200_How Ad Blockers Work.mp4", false, false, false, 45, [], 98, ~U[2026-08-22 00:19:30Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I discuss how different kinds of ad blockers work, including browser based ad blockers and network wide DNS filters.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Ad Blockers Work", "ddCLuQLMq_8", 841, false, "https://www.youtube.com/watch?v=ddCLuQLMq_8", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e082200_How Ad Blockers Work.mp4", false, 45, ~U[2026-08-22 00:19:30Z]] 14:30:43.939 [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] 14:30:43.940 [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-08-09 22:18:35Z], 45] 14:30:43.941 [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 the European Digital Identity program's implementation could make Linux phones, older Android devices, and Android phones with custom ROM's unable to access online services.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "EU's Digital ID is Killing the Open Phone Market", "aedb3988-9c2b-4c3e-873a-957a63e5e21d", "WEHVIofDFJ4", 549, false, "https://www.youtube.com/watch?v=WEHVIofDFJ4", 10, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e080900_EU's Digital ID is Killing the Open Phone Market.mp4", false, false, false, 45, [], 98, ~U[2026-08-09 22:18:35Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I discuss how the European Digital Identity program's implementation could make Linux phones, older Android devices, and Android phones with custom ROM's unable to access online services.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "EU's Digital ID is Killing the Open Phone Market", "WEHVIofDFJ4", 549, false, "https://www.youtube.com/watch?v=WEHVIofDFJ4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e080900_EU's Digital ID is Killing the Open Phone Market.mp4", false, 45, ~U[2026-08-09 22:18:35Z]] 14:30:43.942 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:43.943 [debug] QUERY OK source="media_items" db=1.2ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 21:31:36Z], 45] 14:30:43.944 [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 discuss how different federal agencies are attempting to prosecute people for the use of GrapheneOS features to erase data from their phones and make it more difficult to access.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Government's War On GrapheneOS", "0c3916fc-75c9-4e32-9c0b-d1615678d8e6", "eDQtUwad5vg", 814, false, "https://www.youtube.com/watch?v=eDQtUwad5vg", 11, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e072900_The Government's War On GrapheneOS.mp4", false, false, false, 45, [], 98, ~U[2026-07-29 21:31:36Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I discuss how different federal agencies are attempting to prosecute people for the use of GrapheneOS features to erase data from their phones and make it more difficult to access.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 Government's War On GrapheneOS", "eDQtUwad5vg", 814, false, "https://www.youtube.com/watch?v=eDQtUwad5vg", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e072900_The Government's War On GrapheneOS.mp4", false, 45, ~U[2026-07-29 21:31:36Z]] 14:30:43.945 [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" = ?) [45] 14:30:43.946 [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-07-10 01:04:39Z], 45] 14:30:43.947 [debug] QUERY OK source="media_items" db=0.8ms 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 explain how corporations are crushing the physical media industry to make more money off of consumers, wipe out the 2nd hand movie and games market, and control who is able to watch what where and when.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 End of Physical Media", "c7a3a1ae-dd59-4ed6-9f9a-ba4abc1f845c", "D_zA3dQtEiQ", 1123, false, "https://www.youtube.com/watch?v=D_zA3dQtEiQ", 12, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e071000_The End of Physical Media.mp4", false, false, false, 45, [], 98, ~U[2026-07-10 01:04:39Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I explain how corporations are crushing the physical media industry to make more money off of consumers, wipe out the 2nd hand movie and games market, and control who is able to watch what where and when.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.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 End of Physical Media", "D_zA3dQtEiQ", 1123, false, "https://www.youtube.com/watch?v=D_zA3dQtEiQ", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e071000_The End of Physical Media.mp4", false, 45, ~U[2026-07-10 01:04:39Z]] 14:30:43.948 [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] 14:30:43.949 [debug] QUERY OK source="media_items" db=1.3ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 16:16:14Z], 45] 14:30:43.951 [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" ["In this video I discuss how police are misusing and abusing automated systems like facial recognition, shot spotter, and automated license plate readers (ALPRs) like Flock to wrongfully charge people with crime and traffic violations.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Police Are Abusing AI Systems", "a0639350-cb6e-4c10-9986-749fa982bf82", "CDNc68cvaa4", 1109, false, "https://www.youtube.com/watch?v=CDNc68cvaa4", 13, "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e070300_How Police Are Abusing AI Systems.mp4", false, false, false, 45, [], 98, ~U[2026-07-03 16:16:14Z], ~U[2026-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "In this video I discuss how police are misusing and abusing automated systems like facial recognition, shot spotter, and automated license plate readers (ALPRs) like Flock to wrongfully charge people with crime and traffic violations.\n\nMy merch is available at\nhttps://based.win/\n\nSubscribe to me on Odysee.com\nhttps://odysee.com/@AlphaNerd:8\n\n₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿\n\nMonero\n45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436\n\nBitcoin\nbc1qdc32p8035ztyvtm8t97gdcyhc26jg6cte9qc8n\n\nEthereum\n0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079\n\nLitecoin\nMBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF", "How Police Are Abusing AI Systems", "CDNc68cvaa4", 1109, false, "https://www.youtube.com/watch?v=CDNc68cvaa4", "/downloads/chris/tubes/Mental Outlaw_[UC7YOGHUfC1Tb6E4pudI9STA]/Season 2026/s2026e070300_How Police Are Abusing AI Systems.mp4", false, 45, ~U[2026-07-03 16:16:14Z]] 14:30:43.951 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:43.953 [debug] QUERY OK source="media_items" db=1.7ms idle=3.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-25 23:30:42Z], 45] 14:30:43.957 [debug] QUERY OK source="media_items" db=3.6ms 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" ["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", "7c2abb73-d394-428a-aa7c-43159072adaf", "tu4pvV9pqoY", 617, false, "https://www.youtube.com/watch?v=tu4pvV9pqoY", 14, "/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-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "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]] 14:30:43.958 [debug] QUERY OK source="sources" db=0.3ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:43.959 [debug] QUERY OK source="media_items" db=1.4ms 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 00:08:26Z], 45] 14:30:43.961 [debug] QUERY OK source="media_items" db=0.9ms 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 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", "2dc29c78-7afb-4dfd-ab1c-2a2f1151ba88", "FNMOLizFL2s", 663, false, "https://www.youtube.com/watch?v=FNMOLizFL2s", 15, "/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-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "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]] 14:30:43.961 [debug] QUERY OK source="sources" db=0.2ms idle=7.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:43.963 [debug] QUERY OK source="media_items" db=1.4ms idle=4.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-05 19:53:21Z], 45] 14:30:43.964 [debug] QUERY OK source="media_items" db=0.8ms 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", "0ec54cb3-a0dc-463b-8cbf-c5f10ac28322", "fL9HzADcTsY", 644, false, "https://www.youtube.com/watch?v=fL9HzADcTsY", 16, "/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-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "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]] 14:30:43.965 [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" = ?) [45] 14:30:43.966 [debug] QUERY OK source="media_items" db=1.3ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-28 21:53:49Z], 45] 14:30:43.985 [debug] QUERY OK source="media_items" db=18.3ms 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 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", "6d9fcf29-573a-4ff4-a8d5-6f1c2b335193", "zQ0iVWUvvDM", 678, false, "https://www.youtube.com/watch?v=zQ0iVWUvvDM", 17, "/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-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "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]] 14:30:43.986 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:43.987 [debug] QUERY OK source="media_items" db=1.5ms idle=21.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-21 19:01:08Z], 45] 14:30:43.993 [debug] QUERY OK source="media_items" db=5.3ms idle=23.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 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)", "d1cd64ba-2aba-4bd7-8faa-9a09578ce599", "vel8YW7eCzE", 507, false, "https://www.youtube.com/watch?v=vel8YW7eCzE", 18, "/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-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "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]] 14:30:43.994 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [45] 14:30:43.995 [debug] QUERY OK source="media_items" db=1.4ms idle=9.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-16 20:38:24Z], 45] 14:30:43.997 [debug] QUERY OK source="media_items" db=0.8ms idle=10.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 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", "13501316-bf54-4838-b736-66df4c9582c5", "4dOp-QA4VK4", 623, false, "https://www.youtube.com/watch?v=4dOp-QA4VK4", 19, "/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-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "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]] 14:30:43.997 [debug] QUERY OK source="sources" db=0.2ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [45] 14:30:43.998 [debug] QUERY OK source="media_items" db=1.3ms 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-13 22:13:28Z], 45] 14:30:44.000 [debug] QUERY OK source="media_items" db=1.4ms 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" ["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", "b76cdcc9-3ffb-4ee6-9dc7-f688c038adbc", "ioc_GlSCsIg", 492, false, "https://www.youtube.com/watch?v=ioc_GlSCsIg", 20, "/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-10-26 19:30:43Z], ~U[2026-10-26 19:30:43Z], "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]] 14:30:44.001 [debug] QUERY OK source="sources" db=0.2ms idle=4.9ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 19:30:44Z], ~U[2026-10-26 19:30:44Z], 45] 14:30:44.002 [debug] QUERY OK source="media_items" db=1.5ms 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")))) [45] 14:30:44.004 [debug] QUERY OK source="media_items" db=1.6ms idle=5.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [45] 14:30:44.005 [debug] QUERY OK source="media_items" db=0.3ms idle=5.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [45] 14:30:44.007 [debug] QUERY OK source="tasks" db=0.4ms idle=3.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541626, 45, ~U[2026-10-26 19:30:44Z], ~U[2026-10-26 19:30:44Z]] 14:30:44.007 [info] {"args":{"id":45},"id":541517,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":48683743,"event":"job:stop","queue_time":429082,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:31:00.305 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:31:00.716 [info] {"source":"oban","duration":7656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:26.433 [info] {"args":{"id":3647632},"id":541622,"meta":{},"system_time":1793043086433396064,"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"]} 14:31:26.434 [debug] QUERY OK source="media_items" db=0.3ms idle=975.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" = ?) [3647632] 14:31:26.434 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:31:26.435 [debug] QUERY OK source="sources" db=0.8ms idle=975.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:31:26.435 [debug] QUERY OK source="media_profiles" db=0.2ms idle=976.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] 14:31:26.436 [debug] QUERY OK source="media_items" db=0.3ms 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 [3647632] 14:31:26.437 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.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" = ?) [3647632] 14:31:26.437 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:31:26.438 [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 [] 14:31:26.438 [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 [] 14:31:26.438 [debug] Running yt-dlp command for action: get_downloadable_status 14:31:26.439 [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 [] 14:31:26.440 [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 [] 14:31:26.440 [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 [] 14:31:26.440 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/cf/c7cf4f58c08342ef9f862634c2f8a94361423701216816c1ddb7beb7f847b14b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:31:28.219 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/cf/c7cf4f58c08342ef9f862634c2f8a94361423701216816c1ddb7beb7f847b14b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:31:28.219 [error] yt-dlp download error for media item #3647632: "ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:31:28.219 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3647632},"id":541622,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1786131,"event":"job:exception","queue_time":873660,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:31:30.726 [info] {"source":"oban","duration":9637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:53.563 [info] GET /sources/37/media/382020/edit 14:31:53.564 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "382020", "source_id" => "37"} Pipelines: [:browser] 14:31:53.564 [debug] QUERY OK source="media_items" db=0.1ms idle=105.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" = ?) [382020] 14:31:53.564 [debug] QUERY OK source="settings" db=0.0ms idle=106.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:53.565 [debug] QUERY OK source="settings" db=0.1ms idle=106.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:53.565 [debug] QUERY OK source="settings" db=0.1ms idle=106.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:53.566 [info] Sent 200 in 2ms 14:31:58.381 [info] GET /sources/43 14:31:58.381 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "43"} Pipelines: [:browser] 14:31:58.381 [debug] QUERY OK source="sources" db=0.2ms idle=922.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:31:58.382 [debug] QUERY OK source="media_profiles" db=0.1ms idle=923.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] 14:31:58.436 [debug] QUERY OK source="tasks" db=53.5ms idle=923.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 (?,?,?,?)) [43, "executing", "available", "scheduled", "retryable"] 14:31:58.436 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=977.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" = ?) [541623] 14:31:58.436 [debug] QUERY OK source="settings" db=0.1ms idle=973.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:58.437 [debug] QUERY OK source="settings" db=0.1ms idle=55.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:58.437 [debug] QUERY OK source="settings" db=0.0ms idle=55.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:58.438 [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" = ?) [43] 14:31:58.444 [debug] QUERY OK source="media_items" db=4.9ms idle=2.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [43] 14:31:58.449 [debug] QUERY OK source="media_items" db=5.0ms idle=7.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [43, 10, 0] 14:31:58.450 [debug] QUERY OK source="sources" db=0.1ms idle=13.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:31:58.450 [debug] QUERY OK source="media_items" db=0.2ms idle=12.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [43] 14:31:58.453 [debug] QUERY OK source="media_items" db=2.4ms idle=11.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [43, 10, 0] 14:31:58.454 [debug] QUERY OK source="sources" db=0.1ms idle=9.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:31:58.455 [debug] QUERY OK source="media_items" db=1.2ms idle=4.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 14:31:58.459 [debug] QUERY OK source="media_items" db=4.1ms idle=5.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [43, 10, 0] 14:31:58.461 [info] Sent 200 in 80ms 14:32:00.306 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:32:00.736 [info] {"source":"oban","duration":9667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:03.383 [info] GET /sources/28/media/3134529/edit 14:32:03.383 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3134529", "source_id" => "28"} Pipelines: [:browser] 14:32:03.384 [debug] QUERY OK source="media_items" db=0.2ms idle=1925.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" = ?) [3134529] 14:32:03.384 [debug] QUERY OK source="settings" db=0.1ms idle=1925.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:03.385 [debug] QUERY OK source="settings" db=0.0ms idle=1917.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:03.385 [debug] QUERY OK source="settings" db=0.0ms idle=926.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:03.386 [info] Sent 200 in 2ms 14:32:08.385 [info] GET /sources/28/force_download_pending 14:32:08.385 [debug] QUERY OK source="settings" db=0.1ms idle=1926.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:08.385 [debug] QUERY OK source="settings" db=0.0ms idle=1927.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:08.385 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:32:08.386 [error] #PID<0.255245.0> running PinchflatWeb.Endpoint (connection #PID<0.255239.0>, stream id 4) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/28/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/28/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.255239.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/28/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47464}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.255245.0>, params: %{}, path_info: ["sources", "28", "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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/28/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIrOa5ZoSLL-AQAf3tC"} ], 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.255239.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/28/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47464}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/28/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.255239.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/28/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47464}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.255245.0>, params: %{}, path_info: ["sources", "28", "force_download_pending"], path_params: %{}, port: 80, private: %{ (truncated) 14:32:13.387 [info] GET /sources/28/media/3347313/edit 14:32:13.387 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3347313", "source_id" => "28"} Pipelines: [:browser] 14:32:13.387 [debug] QUERY OK source="media_items" db=0.2ms idle=1928.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" = ?) [3347313] 14:32:13.388 [debug] QUERY OK source="settings" db=0.1ms idle=1907.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:13.388 [debug] QUERY OK source="settings" db=0.0ms idle=929.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:13.388 [debug] QUERY OK source="settings" db=0.0ms idle=929.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:13.389 [info] Sent 200 in 2ms 14:32:18.389 [info] GET /sources/35/force_download_pending 14:32:18.389 [debug] QUERY OK source="settings" db=0.1ms idle=1930.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:18.390 [debug] QUERY OK source="settings" db=0.0ms idle=1931.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:18.390 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:32:18.390 [error] #PID<0.255247.0> running PinchflatWeb.Endpoint (connection #PID<0.255239.0>, stream id 6) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/35/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/35/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.255239.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/35/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47464}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.255247.0>, params: %{}, path_info: ["sources", "35", "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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/35/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOIrPAKmM8hwNTIAf3vC"} ], 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.255239.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/35/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47464}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/35/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.255239.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/35/force_download_pending", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 47464}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdmtSekpjWHpwS25DemFOZ2V5c082X3JW.rzhhH5-OuK4-axbfgwecR6Awow3bHJIciyfcEmUYeeU" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.255247.0>, params: %{}, path_info: ["sources", "35", "force_download_pending"], path_params: %{}, port: 80, private: %{ (truncated) 14:32:24.201 [info] GET /sources/37 14:32:24.201 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "37"} Pipelines: [:browser] 14:32:24.201 [debug] QUERY OK source="sources" db=0.2ms idle=1742.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:32:24.202 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1709.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] 14:32:24.238 [debug] QUERY OK source="tasks" db=36.3ms idle=743.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 (?,?,?,?)) [37, "executing", "available", "scheduled", "retryable"] 14:32:24.239 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=780.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" = ?) [541587] 14:32:24.239 [debug] QUERY OK source="settings" db=0.0ms idle=746.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:24.239 [debug] QUERY OK source="settings" db=0.1ms idle=37.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:24.240 [debug] QUERY OK source="settings" db=0.1ms idle=37.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:24.241 [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" = ?) [37] 14:32:24.245 [debug] QUERY OK source="media_items" db=3.4ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [37] 14:32:24.249 [debug] QUERY OK source="media_items" db=4.1ms idle=5.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 ? [37, 10, 0] 14:32:24.250 [debug] QUERY OK source="sources" db=0.1ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 14:32:24.251 [debug] QUERY OK source="media_items" db=0.2ms idle=10.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [37] 14:32:24.253 [debug] QUERY OK source="media_items" db=2.7ms idle=9.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [37, 10, 0] 14:32:24.254 [debug] QUERY OK source="sources" db=0.1ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [37] 14:32:24.255 [debug] QUERY OK source="media_items" db=1.2ms idle=5.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [37] 14:32:24.258 [debug] QUERY OK source="media_items" db=2.5ms idle=5.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 ? [37, 10, 0] 14:32:24.259 [info] Sent 200 in 58ms 14:32:30.742 [info] {"source":"oban","duration":5949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:51.530 [info] {"args":{"id":52},"id":541619,"meta":{},"system_time":1793043171530267668,"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"]} 14:32:51.531 [debug] QUERY OK source="sources" db=1.1ms idle=71.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:32:51.532 [debug] QUERY OK source="settings" db=0.9ms idle=73.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:51.534 [debug] QUERY OK source="media_profiles" db=1.7ms idle=74.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] 14:32:51.535 [debug] QUERY OK source="settings" db=0.8ms idle=11.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:51.535 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 14:32:51.974 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 14:32:51.975 [debug] QUERY OK source="media_items" db=0.4ms idle=444.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, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 14:32:51.977 [debug] QUERY OK source="media_items" db=0.9ms idle=444.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] 14:32:51.981 [debug] QUERY OK source="tasks" db=0.2ms idle=445.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541627, 1301334, ~U[2026-10-26 19:32:51Z], ~U[2026-10-26 19:32:51Z]] 14:32:51.985 [debug] QUERY OK source="tasks" db=0.3ms idle=4.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541628, 1301335, ~U[2026-10-26 19:32:51Z], ~U[2026-10-26 19:32:51Z]] 14:32:51.988 [debug] QUERY OK source="tasks" db=0.2ms idle=3.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541629, 1301347, ~U[2026-10-26 19:32:51Z], ~U[2026-10-26 19:32:51Z]] 14:32:51.989 [info] {"args":{"id":1301334},"id":541627,"meta":{},"system_time":1793043171989793966,"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"]} 14:32:51.990 [info] {"args":{"id":1301335},"id":541628,"meta":{},"system_time":1793043171989838172,"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"]} 14:32:51.990 [debug] QUERY OK source="media_items" db=0.4ms idle=1.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 14:32:51.990 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:51.990 [debug] QUERY OK source="media_items" db=0.8ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 14:32:51.990 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:51.991 [debug] QUERY OK source="sources" db=0.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:32:51.991 [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] 14:32:51.991 [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] 14:32:51.992 [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] 14:32:51.992 [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] 14:32:51.992 [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 [1301334] 14:32:51.993 [debug] QUERY OK source="tasks" db=0.1ms idle=1.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541630, 1301392, ~U[2026-10-26 19:32:51Z], ~U[2026-10-26 19:32:51Z]] 14:32:51.996 [debug] QUERY OK source="media_metadata" db=0.1ms queue=1.8ms 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" = ?) [1301335] 14:32:51.996 [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" = ?) [1301334] 14:32:51.996 [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] 14:32:51.997 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 14:32:51.997 [debug] QUERY OK source="settings" db=0.2ms 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 [] 14:32:51.997 [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" [541631, 1301393, ~U[2026-10-26 19:32:51Z], ~U[2026-10-26 19:32:51Z]] 14:32:51.997 [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 [] 14:32:51.997 [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 [] 14:32:51.997 [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 [] 14:32:51.998 [debug] Running yt-dlp command for action: get_downloadable_status 14:32:51.998 [debug] Running yt-dlp command for action: get_downloadable_status 14:32:51.999 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:52.000 [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 [] 14:32:52.000 [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 [] 14:32:52.000 [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/aa/f7/aaf7c7d779e35bf2d14287f5d8eac86220c7f52877e1eb2d518117e134862a24.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:52.000 [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 [] 14:32:52.000 [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 [] 14:32:52.000 [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 [] 14:32:52.000 [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" [541632, 1301394, ~U[2026-10-26 19:32:52Z], ~U[2026-10-26 19:32:52Z]] 14:32:52.000 [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/28/95/289550832d523f2f6867ccee2460353e10bc39f3d45cb7a89fd8605cae840210.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:52.003 [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" [541633, 1301395, ~U[2026-10-26 19:32:52Z], ~U[2026-10-26 19:32:52Z]] 14:32:52.006 [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" [541634, 1301397, ~U[2026-10-26 19:32:52Z], ~U[2026-10-26 19:32:52Z]] 14:32:52.009 [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" [541635, 1301398, ~U[2026-10-26 19:32:52Z], ~U[2026-10-26 19:32:52Z]] 14:32:52.012 [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" [541636, 1301399, ~U[2026-10-26 19:32:52Z], ~U[2026-10-26 19:32:52Z]] 14:32:52.015 [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" [541637, 1301400, ~U[2026-10-26 19:32:52Z], ~U[2026-10-26 19:32:52Z]] 14:32:52.018 [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" [541638, 2720968, ~U[2026-10-26 19:32:52Z], ~U[2026-10-26 19:32:52Z]] 14:32:52.021 [debug] QUERY OK source="tasks" db=0.3ms idle=3.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541639, 3440530, ~U[2026-10-26 19:32:52Z], ~U[2026-10-26 19:32:52Z]] 14:32:52.024 [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" [541640, 3675707, ~U[2026-10-26 19:32:52Z], ~U[2026-10-26 19:32:52Z]] 14:32:52.025 [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" [541641, 52, ~U[2026-10-26 19:32:52Z], ~U[2026-10-26 19:32:52Z]] 14:32:52.025 [info] {"args":{"id":52},"id":541619,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":495414,"event":"job:stop","queue_time":352667,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:32:53.855 [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/aa/f7/aaf7c7d779e35bf2d14287f5d8eac86220c7f52877e1eb2d518117e134862a24.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. 14:32:53.855 [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" 14:32:53.856 [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" 14:32:53.856 [info] {"args":{"id":1301335},"id":541628,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1866327,"event":"job:stop","queue_time":986510,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:32:53.863 [info] {"args":{"id":1301347},"id":541629,"meta":{},"system_time":1793043173863112649,"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"]} 14:32:53.863 [debug] QUERY OK source="media_items" db=0.1ms idle=404.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] 14:32:53.863 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:53.863 [debug] QUERY OK source="sources" db=0.1ms idle=404.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:32:53.864 [debug] QUERY OK source="media_profiles" db=0.1ms idle=338.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] 14:32:53.864 [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 [1301347] 14:32:53.867 [debug] QUERY OK source="media_metadata" db=0.1ms 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] 14:32:53.867 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 14:32:53.867 [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 [] 14:32:53.867 [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 [] 14:32:53.867 [debug] Running yt-dlp command for action: get_downloadable_status 14:32:53.869 [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 [] 14:32:53.869 [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 [] 14:32:53.869 [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 [] 14:32:53.869 [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/fe/d6/fed6d00ae4003ca074ac0683dc3da06b7e04edce01a5c1cae38bd950c3f3dcf6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:54.056 [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/28/95/289550832d523f2f6867ccee2460353e10bc39f3d45cb7a89fd8605cae840210.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. 14:32:54.056 [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" 14:32:54.056 [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" 14:32:54.057 [info] {"args":{"id":1301334},"id":541627,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2067220,"event":"job:stop","queue_time":986510,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:32:54.063 [info] {"args":{"id":1301392},"id":541630,"meta":{},"system_time":1793043174063074051,"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"]} 14:32:54.063 [debug] QUERY OK source="media_items" db=0.1ms idle=194.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] 14:32:54.063 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:54.063 [debug] QUERY OK source="sources" db=0.2ms idle=194.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:32:54.064 [debug] QUERY OK source="media_profiles" db=0.1ms idle=194.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] 14:32:54.064 [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 [1301392] 14:32:54.065 [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" = ?) [1301392] 14:32:54.066 [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] 14:32:54.066 [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 [] 14:32:54.066 [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 [] 14:32:54.066 [debug] Running yt-dlp command for action: get_downloadable_status 14:32:54.068 [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 [] 14:32:54.068 [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 [] 14:32:54.068 [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 [] 14:32:54.068 [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/7c/01/7c01bc1b7007acc3860a5dc118b6bbfc2f654d2c1ec619c521187ee99ce3409f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:55.661 [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/fe/d6/fed6d00ae4003ca074ac0683dc3da06b7e04edce01a5c1cae38bd950c3f3dcf6.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. 14:32:55.661 [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" 14:32:55.662 [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" 14:32:55.662 [info] {"args":{"id":1301347},"id":541629,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1798942,"event":"job:stop","queue_time":2862527,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:32:55.669 [info] {"args":{"id":1301393},"id":541631,"meta":{},"system_time":1793043175669608694,"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"]} 14:32:55.670 [debug] QUERY OK source="media_items" db=0.2ms idle=211.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] 14:32:55.670 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:55.670 [debug] QUERY OK source="sources" db=0.1ms idle=211.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:32:55.670 [debug] QUERY OK source="media_profiles" db=0.1ms idle=143.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] 14:32:55.671 [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 [1301393] 14:32:55.672 [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] 14:32:55.672 [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] 14:32:55.673 [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 [] 14:32:55.673 [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 [] 14:32:55.673 [debug] Running yt-dlp command for action: get_downloadable_status 14:32:55.674 [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 [] 14:32:55.674 [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 [] 14:32:55.674 [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 [] 14:32:55.674 [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/76/31/76316d3f403801ad6a1b2bf97fb5cd7871d04d7b01448c1794d6865a29e23c73.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:56.197 [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/7c/01/7c01bc1b7007acc3860a5dc118b6bbfc2f654d2c1ec619c521187ee99ce3409f.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. 14:32:56.197 [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" 14:32:56.197 [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" 14:32:56.198 [info] {"args":{"id":1301392},"id":541630,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2134935,"event":"job:stop","queue_time":3062513,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:32:56.204 [info] {"args":{"id":1301394},"id":541632,"meta":{},"system_time":1793043176204091683,"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"]} 14:32:56.204 [debug] QUERY OK source="media_items" db=0.2ms idle=530.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] 14:32:56.204 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:56.204 [debug] QUERY OK source="sources" db=0.2ms idle=530.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:32:56.205 [debug] QUERY OK source="media_profiles" db=0.1ms idle=530.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] 14:32:56.205 [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 [1301394] 14:32:56.205 [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" = ?) [1301394] 14:32:56.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] 14:32:56.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 [] 14:32:56.206 [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 [] 14:32:56.206 [debug] Running yt-dlp command for action: get_downloadable_status 14:32:56.208 [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 [] 14:32:56.208 [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 [] 14:32:56.208 [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 [] 14:32:56.208 [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/12/66/1266e45e53df6d9e8bda6b2e440442cb60386bf3e5d75e6b03f0e8c6624b68b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:57.621 [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/76/31/76316d3f403801ad6a1b2bf97fb5cd7871d04d7b01448c1794d6865a29e23c73.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. 14:32:57.621 [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" 14:32:57.622 [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" 14:32:57.622 [info] {"args":{"id":1301393},"id":541631,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1952540,"event":"job:stop","queue_time":4668570,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:32:57.629 [info] {"args":{"id":1301395},"id":541633,"meta":{},"system_time":1793043177629357671,"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"]} 14:32:57.629 [debug] QUERY OK source="media_items" db=0.2ms idle=170.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] 14:32:57.630 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:57.630 [debug] QUERY OK source="sources" db=0.1ms idle=171.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:32:57.630 [debug] QUERY OK source="media_profiles" db=0.1ms idle=100.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] 14:32:57.630 [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] 14:32:57.632 [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] 14:32:57.632 [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] 14:32:57.632 [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 [] 14:32:57.632 [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 [] 14:32:57.632 [debug] Running yt-dlp command for action: get_downloadable_status 14:32:57.633 [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 [] 14:32:57.633 [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 [] 14:32:57.633 [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 [] 14:32:57.634 [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/55/0e/550e959ab1eeb7e58fbb30fc620806415a8955621028ae847ae61c1794748aaa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:58.176 [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/12/66/1266e45e53df6d9e8bda6b2e440442cb60386bf3e5d75e6b03f0e8c6624b68b7.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. 14:32:58.176 [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" 14:32:58.176 [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" 14:32:58.176 [info] {"args":{"id":1301394},"id":541632,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1972465,"event":"job:stop","queue_time":4203510,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:32:58.183 [info] {"args":{"id":1301397},"id":541634,"meta":{},"system_time":1793043178183322269,"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"]} 14:32:58.183 [debug] QUERY OK source="media_items" db=0.1ms idle=549.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] 14:32:58.183 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:58.184 [debug] QUERY OK source="sources" db=0.1ms idle=550.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:32:58.184 [debug] QUERY OK source="media_profiles" db=0.1ms idle=550.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:32:58.184 [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] 14:32:58.186 [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" = ?) [1301397] 14:32:58.186 [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] 14:32:58.186 [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 [] 14:32:58.186 [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 [] 14:32:58.186 [debug] Running yt-dlp command for action: get_downloadable_status 14:32:58.187 [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 [] 14:32:58.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 [] 14:32:58.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 [] 14:32:58.188 [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/58/ce/58ce82b46eed7d1df3deb1149cd6026c6ee62dff8a8253e3f9ed8de8c22998c9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:59.554 [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/55/0e/550e959ab1eeb7e58fbb30fc620806415a8955621028ae847ae61c1794748aaa.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. 14:32:59.554 [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" 14:32:59.554 [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" 14:32:59.555 [info] {"args":{"id":1301395},"id":541633,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1925306,"event":"job:stop","queue_time":5628555,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:32:59.561 [info] {"args":{"id":1301398},"id":541635,"meta":{},"system_time":1793043179561144778,"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"]} 14:32:59.561 [debug] QUERY OK source="media_items" db=0.1ms idle=102.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] 14:32:59.561 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:59.561 [debug] QUERY OK source="sources" db=0.1ms idle=103.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:32:59.562 [debug] QUERY OK source="media_profiles" db=0.1ms idle=29.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] 14:32:59.562 [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] 14:32:59.565 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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] 14:32:59.565 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 14:32:59.565 [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 [] 14:32:59.566 [debug] QUERY OK source="settings" db=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:59.566 [debug] Running yt-dlp command for action: get_downloadable_status 14:32:59.568 [debug] QUERY OK source="settings" db=0.0ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:59.568 [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 [] 14:32:59.568 [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 [] 14:32:59.568 [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/10/85/108536081b2e6baea677b6f739457adf5c568ce34f5dc33308c32ff943ec47a5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:59.977 [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/58/ce/58ce82b46eed7d1df3deb1149cd6026c6ee62dff8a8253e3f9ed8de8c22998c9.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. 14:32:59.977 [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" 14:32:59.977 [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" 14:32:59.978 [info] {"args":{"id":1301397},"id":541634,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1794314,"event":"job:stop","queue_time":6182529,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:32:59.984 [info] {"args":{"id":1301399},"id":541636,"meta":{},"system_time":1793043179984085453,"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"]} 14:32:59.984 [debug] QUERY OK source="media_items" db=0.1ms idle=415.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] 14:32:59.984 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:59.984 [debug] QUERY OK source="sources" db=0.2ms idle=416.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:32:59.985 [debug] QUERY OK source="media_profiles" db=0.1ms idle=416.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:32:59.985 [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] 14:32:59.987 [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" = ?) [1301399] 14:32:59.987 [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] 14:32:59.987 [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 [] 14:32:59.987 [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 [] 14:32:59.988 [debug] Running yt-dlp command for action: get_downloadable_status 14:32:59.989 [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 [] 14:32:59.989 [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 [] 14:32:59.989 [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 [] 14:32:59.989 [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/0b/89/0b890c369529fc5ce015f32fe011e4c8f40229de6d4cee8df255d3fd42106f98.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:00.307 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:33:00.751 [info] {"source":"oban","duration":7626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:01.621 [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/10/85/108536081b2e6baea677b6f739457adf5c568ce34f5dc33308c32ff943ec47a5.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. 14:33:01.621 [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" 14:33:01.622 [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" 14:33:01.622 [info] {"args":{"id":1301398},"id":541635,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2060953,"event":"job:stop","queue_time":7560510,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:01.628 [info] {"args":{"id":1301400},"id":541637,"meta":{},"system_time":1793043181628366451,"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"]} 14:33:01.628 [debug] QUERY OK source="media_items" db=0.2ms idle=169.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] 14:33:01.629 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:33:01.629 [debug] QUERY OK source="sources" db=0.1ms idle=170.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:33:01.629 [debug] QUERY OK source="media_profiles" db=0.1ms idle=95.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] 14:33:01.630 [debug] QUERY OK source="media_items" db=0.6ms 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] 14:33:01.632 [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] 14:33:01.632 [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] 14:33:01.632 [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 [] 14:33:01.632 [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 [] 14:33:01.632 [debug] Running yt-dlp command for action: get_downloadable_status 14:33:01.633 [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 [] 14:33:01.633 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:01.634 [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 [] 14:33:01.634 [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/c0/e8c0f9baef21b09d3fe089c210ef3b292d63a97cd4b2093985c808df43549be2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:01.637 [info] GET /sources/32/media/3583022 14:33:01.637 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3583022", "source_id" => "32"} Pipelines: [:browser] 14:33:01.638 [debug] QUERY OK source="media_items" db=0.1ms idle=5.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" = ?) [3583022] 14:33:01.638 [debug] QUERY OK source="tasks" db=0.0ms idle=5.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" [3583022] 14:33:01.638 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [32] 14:33:01.638 [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 [] 14:33:01.639 [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 [] 14:33:01.639 [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 [] 14:33:01.639 [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] 14:33:01.640 [info] Sent 200 in 2ms 14:33:01.906 [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/0b/89/0b890c369529fc5ce015f32fe011e4c8f40229de6d4cee8df255d3fd42106f98.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. 14:33:01.906 [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" 14:33:01.906 [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" 14:33:01.906 [info] {"args":{"id":1301399},"id":541636,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1922386,"event":"job:stop","queue_time":7983511,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:01.913 [info] {"args":{"id":2720968},"id":541638,"meta":{},"system_time":1793043181913088118,"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"]} 14:33:01.913 [debug] QUERY OK source="media_items" db=0.1ms idle=274.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] 14:33:01.913 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:33:01.913 [debug] QUERY OK source="sources" db=0.1ms idle=274.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:33:01.914 [debug] QUERY OK source="media_profiles" db=0.1ms idle=274.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] 14:33:01.914 [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] 14:33:01.916 [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] 14:33:01.916 [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] 14:33:01.916 [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 [] 14:33:01.916 [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 [] 14:33:01.917 [debug] Running yt-dlp command for action: get_downloadable_status 14:33:01.918 [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 [] 14:33:01.918 [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 [] 14:33:01.918 [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 [] 14:33:01.918 [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/2e/0c/2e0c22b5788ec306e8d0f64e9a6a7c5775ccf31fcd356bc7c5ace593c33f86e4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:03.671 [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/c0/e8c0f9baef21b09d3fe089c210ef3b292d63a97cd4b2093985c808df43549be2.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. 14:33:03.671 [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" 14:33:03.671 [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" 14:33:03.672 [info] {"args":{"id":1301400},"id":541637,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2043551,"event":"job:stop","queue_time":9627511,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:03.678 [info] {"args":{"id":3440530},"id":541639,"meta":{},"system_time":1793043183678279411,"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"]} 14:33:03.678 [debug] QUERY OK source="media_items" db=0.1ms idle=219.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3440530] 14:33:03.678 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:33:03.679 [debug] QUERY OK source="sources" db=0.1ms idle=220.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:33:03.679 [debug] QUERY OK source="media_profiles" db=0.1ms idle=142.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] 14:33:03.679 [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 [3440530] 14:33:03.681 [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" = ?) [3440530] 14:33:03.681 [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] 14:33:03.682 [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 [] 14:33:03.682 [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 [] 14:33:03.682 [debug] Running yt-dlp command for action: get_downloadable_status 14:33:03.683 [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 [] 14:33:03.683 [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 [] 14:33:03.683 [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 [] 14:33:03.683 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/13/2f138bb2a2b919c8d0ee20aca136de801e39ffa3f788b13565d614103dfba547.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:03.746 [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/2e/0c/2e0c22b5788ec306e8d0f64e9a6a7c5775ccf31fcd356bc7c5ace593c33f86e4.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. 14:33:03.746 [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" 14:33:03.746 [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" 14:33:03.747 [info] {"args":{"id":2720968},"id":541638,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1833663,"event":"job:stop","queue_time":9912519,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:03.753 [info] {"args":{"id":3675707},"id":541640,"meta":{},"system_time":1793043183753094605,"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"]} 14:33:03.753 [debug] QUERY OK source="media_items" db=0.1ms idle=70.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" = ?) [3675707] 14:33:03.753 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:33:03.753 [debug] QUERY OK source="sources" db=0.2ms idle=70.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:33:03.754 [debug] QUERY OK source="media_profiles" db=0.1ms idle=70.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] 14:33:03.754 [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 [3675707] 14:33:03.755 [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" = ?) [3675707] 14:33:03.756 [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] 14:33:03.756 [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 [] 14:33:03.756 [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 [] 14:33:03.756 [debug] Running yt-dlp command for action: get_downloadable_status 14:33:03.757 [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 [] 14:33:03.758 [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 [] 14:33:03.758 [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 [] 14:33:03.758 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b0/f7/b0f74d3a44a7880ae8c5848394d4e58e44675625a0ec8640718711430d76b337.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:04.544 [info] {"args":{"id":51},"id":541620,"meta":{},"system_time":1793043184544263498,"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"]} 14:33:04.544 [debug] QUERY OK source="sources" db=0.2ms idle=786.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:33:04.545 [debug] QUERY OK source="settings" db=0.2ms idle=786.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:04.545 [debug] QUERY OK source="media_profiles" db=0.2ms idle=787.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] 14:33:04.545 [debug] QUERY OK source="settings" db=0.1ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:04.545 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 14:33:04.741 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 14:33:04.743 [debug] QUERY OK source="media_items" db=0.6ms idle=198.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 14:33:04.744 [debug] QUERY OK source="media_items" db=0.5ms idle=198.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] 14:33:04.745 [debug] QUERY OK source="tasks" db=0.2ms idle=199.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541642, 51, ~U[2026-10-26 19:33:04Z], ~U[2026-10-26 19:33:04Z]] 14:33:04.746 [info] {"args":{"id":51},"id":541620,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":201609,"event":"job:stop","queue_time":569710,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:33:05.458 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/13/2f138bb2a2b919c8d0ee20aca136de801e39ffa3f788b13565d614103dfba547.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 14:33:05.459 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:33:05.459 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:33:05.459 [info] {"args":{"id":3440530},"id":541639,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1780855,"event":"job:stop","queue_time":11677560,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:05.647 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b0/f7/b0f74d3a44a7880ae8c5848394d4e58e44675625a0ec8640718711430d76b337.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 14:33:05.647 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:33:05.647 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:33:05.648 [info] {"args":{"id":3675707},"id":541640,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1894792,"event":"job:stop","queue_time":11752556,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:06.498 [info] GET /sources/28/media/347107 14:33:06.498 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "347107", "source_id" => "28"} Pipelines: [:browser] 14:33:06.499 [debug] QUERY OK source="media_items" db=0.3ms idle=1039.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" = ?) [347107] 14:33:06.499 [debug] QUERY OK source="sources" db=0.3ms idle=959.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [28] 14:33:06.499 [debug] QUERY OK source="tasks" db=0.4ms idle=1033.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" [347107] 14:33:06.504 [debug] QUERY OK source="oban_jobs" db=4.1ms idle=851.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [488643, 490318, 491960, 493702, 495802, 497866, 499523, 501225, 502864, 504532, 506189, 508278, 510423, 512738, 514326, 515603, 517355, 518697, 520364, 522271, 523736, 525526, 527224, 528917, 531025, 532945, 534812, 536796, 538834, 540435] 14:33:06.505 [debug] QUERY OK source="settings" db=0.0ms idle=850.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:06.505 [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 [] 14:33:06.505 [debug] QUERY OK source="settings" db=0.1ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:06.506 [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] 14:33:06.510 [info] Sent 200 in 11ms 14:33:30.760 [info] {"source":"oban","duration":9367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:41.589 [info] {"args":{"id":30},"id":541585,"meta":{},"system_time":1793043221589878073,"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"]} 14:33:41.590 [debug] QUERY OK source="sources" db=0.2ms idle=1131.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:33:41.590 [debug] QUERY OK source="settings" db=0.2ms idle=1131.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:41.597 [debug] QUERY OK source="media_items" db=6.1ms 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")))) [30] 14:33:41.597 [debug] QUERY OK source="media_items" db=0.4ms idle=14.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 14:33:41.597 [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] 14:33:41.598 [debug] QUERY OK source="settings" db=0.0ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:41.598 [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 [] 14:33:41.605 [debug] QUERY OK source="media_items" db=4.4ms 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."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [30] 14:33:41.606 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:33:41.606 [debug] Current batch of media processed. Will check again in 1000ms 14:33:41.607 [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 [] 14:33:41.607 [debug] QUERY OK source="settings" db=0.0ms 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 [] 14:33:41.607 [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 [] 14:33:41.607 [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/64/f2/64f2d37347d25c1fd12b9622ccf0c7fcf3edea0a74f3b993ba1c9a6fe4d92aec.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/7d/be/7dbec3f04407741a5bf08fd9f3f0cc27c89c5e86f06306f1a95411ba89b4f7b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:42.607 [debug] Current batch of media processed. Will check again in 1000ms 14:33:43.608 [debug] Current batch of media processed. Will check again in 1000ms 14:33:44.609 [debug] Current batch of media processed. Will check again in 1000ms 14:33:45.610 [debug] Current batch of media processed. Will check again in 1000ms 14:33:46.611 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 878, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", "id" => "g6PtJ0ZOCp8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "playlist_index" => 1, "timestamp" => 1793032225, "title" => "The Future Of Linux Gaming Is Bright", "upload_date" => "20261026"} 14:33:46.612 [debug] QUERY OK source="sources" db=0.2ms idle=1153.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:46.612 [debug] QUERY OK source="sources" db=0.1ms idle=1153.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:33:46.619 [debug] QUERY OK source="media_items" db=6.1ms idle=1154.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 16:30:25Z], 30] 14:33:46.621 [debug] QUERY OK source="media_items" db=1.9ms idle=1032.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" ["Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "4ca9ff0c-121a-4b4e-a8b4-186cda5b4a9f", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, false, false, 30, [], 98, ~U[2026-10-26 16:30:25Z], ~U[2026-10-26 19:33:46Z], ~U[2026-10-26 19:33:46Z], "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, 30, ~U[2026-10-26 16:30:25Z]] 14:33:46.621 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [30] 14:33:46.622 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:33:46.622 [debug] QUERY OK source="media_items" db=0.3ms idle=9.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4246141] 14:33:46.622 [debug] Current batch of media processed. Will check again in 1000ms 14:33:47.623 [debug] Current batch of media processed. Will check again in 1000ms 14:33:48.624 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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" => 857, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", "id" => "B28eZ7BHRYE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=B28eZ7BHRYE", "playlist_index" => 2, "timestamp" => 1792945823, "title" => "Arch Linux's AUR Keeps Getting Hit With Malware", "upload_date" => "20261025"} 14:33:48.625 [debug] QUERY OK source="sources" db=0.3ms idle=166.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:48.625 [debug] QUERY OK source="sources" db=0.2ms idle=166.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:33:48.632 [debug] QUERY OK source="media_items" db=6.0ms idle=167.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-25 16:30:23Z], 30] 14:33:48.633 [debug] QUERY OK source="media_items" db=1.3ms idle=173.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" ["Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "04e0e0f2-7ff1-4e28-af38-df5397a8c385", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, false, false, 30, [], 98, ~U[2026-10-25 16:30:23Z], ~U[2026-10-26 19:33:48Z], ~U[2026-10-26 19:33:48Z], "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, 30, ~U[2026-10-25 16:30:23Z]] 14:33:48.634 [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" = ?) [30] 14:33:48.634 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:48.635 [debug] QUERY OK source="media_items" db=0.8ms 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 [4238259] 14:33:48.636 [debug] Current batch of media processed. Will check again in 1000ms 14:33:49.636 [debug] Current batch of media processed. Will check again in 1000ms 14:33:50.637 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1655, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", "id" => "ObKIuIzFzYs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ObKIuIzFzYs", "playlist_index" => 3, "timestamp" => 1792859431, "title" => "2026 Linux Maintainers Summit Was All About AI", "upload_date" => "20261024"} 14:33:50.638 [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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 14:33:50.638 [debug] QUERY OK source="sources" db=0.0ms idle=179.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:33:50.643 [debug] QUERY OK source="media_items" db=5.0ms idle=179.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 16:30:31Z], 30] 14:33:50.648 [debug] QUERY OK source="media_items" db=4.5ms idle=185.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" ["As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "6e77e9c8-db35-4281-b177-12c7f0edd84a", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-24 16:30:31Z], ~U[2026-10-26 19:33:50Z], ~U[2026-10-26 19:33:50Z], "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, 30, ~U[2026-10-24 16:30:31Z]] 14:33:50.649 [debug] QUERY OK source="sources" db=0.1ms idle=54.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:33:50.649 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:50.649 [debug] QUERY OK source="media_items" db=0.2ms idle=10.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4230255] 14:33:50.649 [debug] Current batch of media processed. Will check again in 1000ms 14:33:51.650 [debug] Current batch of media processed. Will check again in 1000ms 14:33:52.651 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 661, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", "id" => "tOhtcCHEcks", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tOhtcCHEcks", "playlist_index" => 4, "timestamp" => 1792686606, "title" => "Steam Finally Went 64 Bit On Linux", "upload_date" => "20261022"} 14:33:52.652 [debug] QUERY OK source="sources" db=0.2ms idle=193.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:52.652 [debug] QUERY OK source="sources" db=0.2ms idle=193.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:33:52.658 [debug] QUERY OK source="media_items" db=5.9ms idle=194.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 16:30:06Z], 30] 14:33:52.660 [debug] QUERY OK source="media_items" db=1.4ms idle=200.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" ["After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "2fc09a97-4bea-483e-a083-95cff5d7ae67", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, false, false, 30, [], 98, ~U[2026-10-22 16:30:06Z], ~U[2026-10-26 19:33:52Z], ~U[2026-10-26 19:33:52Z], "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, 30, ~U[2026-10-22 16:30:06Z]] 14:33:52.661 [debug] QUERY OK source="sources" db=0.2ms idle=63.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:33:52.661 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:52.662 [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 [4214594] 14:33:52.662 [debug] Current batch of media processed. Will check again in 1000ms 14:33:53.662 [debug] Current batch of media processed. Will check again in 1000ms 14:33:54.663 [debug] Current batch of media processed. Will check again in 1000ms 14:33:55.664 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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" => 1233, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", "id" => "lBCWjJslSc8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lBCWjJslSc8", "playlist_index" => 5, "timestamp" => 1792600228, "title" => "Linux Kernel Just Abandoned AI Disclosure", "upload_date" => "20261021"} 14:33:55.665 [debug] QUERY OK source="sources" db=0.2ms idle=1206.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:55.665 [debug] QUERY OK source="sources" db=0.1ms idle=1206.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:33:55.670 [debug] QUERY OK source="media_items" db=5.0ms idle=1206.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 16:30:28Z], 30] 14:33:55.672 [debug] QUERY OK source="media_items" db=1.0ms idle=1070.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 a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "f17a7fd7-5e25-4137-9e65-22d1738d74fe", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, false, false, 30, [], 98, ~U[2026-10-21 16:30:28Z], ~U[2026-10-26 19:33:55Z], ~U[2026-10-26 19:33:55Z], "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, 30, ~U[2026-10-21 16:30:28Z]] 14:33:55.672 [debug] QUERY OK source="sources" db=0.2ms idle=71.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:33:55.672 [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] 14:33:55.673 [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 [4206623] 14:33:55.673 [debug] Current batch of media processed. Will check again in 1000ms 14:33:56.673 [debug] Current batch of media processed. Will check again in 1000ms 14:33:57.674 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1095, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", "id" => "3Xi7m0CYk5s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "playlist_index" => 6, "timestamp" => 1792513813, "title" => "Fortnite On Linux Changes Everything For Linux Gaming", "upload_date" => "20261020"} 14:33:57.675 [debug] QUERY OK source="sources" db=0.2ms idle=215.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:57.675 [debug] QUERY OK source="sources" db=0.1ms idle=216.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:33:57.682 [debug] QUERY OK source="media_items" db=6.1ms idle=216.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-20 16:30:13Z], 30] 14:33:57.684 [debug] QUERY OK source="media_items" db=1.4ms idle=223.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" ["Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "949f5a3a-b38d-4c1b-a716-2e156e88ac06", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, false, false, 30, [], 98, ~U[2026-10-20 16:30:13Z], ~U[2026-10-26 19:33:57Z], ~U[2026-10-26 19:33:57Z], "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, 30, ~U[2026-10-20 16:30:13Z]] 14:33:57.684 [debug] QUERY OK source="sources" db=0.2ms idle=80.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:33:57.685 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 14:33:57.686 [debug] QUERY OK source="media_items" db=0.4ms 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 [4198751] 14:33:57.686 [debug] Current batch of media processed. Will check again in 1000ms 14:33:58.686 [debug] Current batch of media processed. Will check again in 1000ms 14:33:59.687 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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" => 1215, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", "id" => "tnwm-zjkHcE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tnwm-zjkHcE", "playlist_index" => 7, "timestamp" => 1792427421, "title" => "Those Who Built Open Source", "upload_date" => "20261019"} 14:33:59.688 [debug] QUERY OK source="sources" db=0.2ms idle=229.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:59.688 [debug] QUERY OK source="sources" db=0.1ms idle=229.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:33:59.695 [debug] QUERY OK source="media_items" db=6.3ms idle=230.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 16:30:21Z], 30] 14:33:59.697 [debug] QUERY OK source="media_items" db=1.5ms idle=236.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" ["So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "b370082e-3845-4578-ae3a-2b6b8af7801a", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, false, false, 30, [], 98, ~U[2026-10-19 16:30:21Z], ~U[2026-10-26 19:33:59Z], ~U[2026-10-26 19:33:59Z], "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, 30, ~U[2026-10-19 16:30:21Z]] 14:33:59.697 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:33:59.698 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:59.698 [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 [4190952] 14:33:59.698 [debug] Current batch of media processed. Will check again in 1000ms 14:34:00.308 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:34:00.699 [debug] Current batch of media processed. Will check again in 1000ms 14:34:00.769 [info] {"source":"oban","duration":7641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:01.700 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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" => 902, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", "id" => "k7aFcpRduxU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=k7aFcpRduxU", "playlist_index" => 8, "timestamp" => 1792341036, "title" => "Gentoo Needs Your Help", "upload_date" => "20261018"} 14:34:01.701 [debug] QUERY OK source="sources" db=0.2ms idle=931.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:01.701 [debug] QUERY OK source="sources" db=0.2ms idle=242.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:01.708 [debug] QUERY OK source="media_items" db=5.9ms idle=243.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-18 16:30:36Z], 30] 14:34:01.710 [debug] QUERY OK source="media_items" db=2.0ms idle=249.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" ["Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "0d2bf3f5-425e-4ee5-8e20-059f9b0662c1", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-10-18 16:30:36Z], ~U[2026-10-26 19:34:01Z], ~U[2026-10-26 19:34:01Z], "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, 30, ~U[2026-10-18 16:30:36Z]] 14:34:01.711 [debug] QUERY OK source="sources" db=0.2ms idle=100.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:34:01.711 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 14:34:01.712 [debug] QUERY OK source="media_items" db=0.2ms idle=10.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4182968] 14:34:01.712 [debug] Current batch of media processed. Will check again in 1000ms 14:34:02.713 [debug] Current batch of media processed. Will check again in 1000ms 14:34:03.714 [debug] Current batch of media processed. Will check again in 1000ms 14:34:04.715 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1047, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", "id" => "cxbtnPAL8Z8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "playlist_index" => 9, "timestamp" => 1792254608, "title" => "Gitea Is Not Suitable For Gitea", "upload_date" => "20261017"} 14:34:04.716 [debug] QUERY OK source="sources" db=0.3ms idle=1257.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:04.717 [debug] QUERY OK source="sources" db=0.2ms idle=1258.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:04.722 [debug] QUERY OK source="media_items" db=5.0ms idle=1258.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-17 16:30:08Z], 30] 14:34:04.723 [debug] QUERY OK source="media_items" db=1.0ms idle=1109.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 told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "96bdc1c8-d3e7-4daa-a181-625fc4e7aa8d", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, false, false, 30, [], 98, ~U[2026-10-17 16:30:08Z], ~U[2026-10-26 19:34:04Z], ~U[2026-10-26 19:34:04Z], "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, 30, ~U[2026-10-17 16:30:08Z]] 14:34:04.723 [debug] QUERY OK source="sources" db=0.1ms idle=109.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:34:04.724 [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] 14:34:04.724 [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 [4175011] 14:34:04.724 [debug] Current batch of media processed. Will check again in 1000ms 14:34:05.725 [debug] Current batch of media processed. Will check again in 1000ms 14:34:06.726 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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" => 1126, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", "id" => "Gn1n4CuKccI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Gn1n4CuKccI", "playlist_index" => 10, "timestamp" => 1792081827, "title" => "I Guess MacOS Isn't \"Unix\" Anymore", "upload_date" => "20261015"} 14:34:06.727 [debug] QUERY OK source="sources" db=0.2ms idle=268.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:06.728 [debug] QUERY OK source="sources" db=0.1ms idle=269.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:06.734 [debug] QUERY OK source="media_items" db=5.9ms idle=269.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 16:30:27Z], 30] 14:34:06.736 [debug] QUERY OK source="media_items" db=1.4ms idle=275.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" ["Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "114cb7e2-0284-4c0c-820f-1e08058e01ff", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, false, false, 30, [], 98, ~U[2026-10-15 16:30:27Z], ~U[2026-10-26 19:34:06Z], ~U[2026-10-26 19:34:06Z], "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, 30, ~U[2026-10-15 16:30:27Z]] 14:34:06.736 [debug] QUERY OK source="sources" db=0.3ms idle=119.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:34:06.737 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 14:34:06.738 [debug] QUERY OK source="media_items" db=0.3ms 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 [4159190] 14:34:06.738 [debug] Current batch of media processed. Will check again in 1000ms 14:34:07.738 [debug] Current batch of media processed. Will check again in 1000ms 14:34:08.739 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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" => 836, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", "id" => "QeXNWDv1JGE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QeXNWDv1JGE", "playlist_index" => 11, "timestamp" => 1791995414, "title" => "The JPEG XL Saga Is Finally Over", "upload_date" => "20261014"} 14:34:08.740 [debug] QUERY OK source="sources" db=0.1ms idle=281.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:08.740 [debug] QUERY OK source="sources" db=0.1ms idle=281.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:08.746 [debug] QUERY OK source="media_items" db=6.0ms idle=282.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 16:30:14Z], 30] 14:34:08.748 [debug] QUERY OK source="media_items" db=1.3ms idle=288.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" ["Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "b92c17f1-e237-4e89-9a75-4eddde90fd12", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, false, false, 30, [], 98, ~U[2026-10-14 16:30:14Z], ~U[2026-10-26 19:34:08Z], ~U[2026-10-26 19:34:08Z], "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, 30, ~U[2026-10-14 16:30:14Z]] 14:34:08.749 [debug] QUERY OK source="sources" db=0.2ms idle=128.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:34:08.749 [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] 14:34:08.750 [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 [4151358] 14:34:08.750 [debug] Current batch of media processed. Will check again in 1000ms 14:34:09.750 [debug] Current batch of media processed. Will check again in 1000ms 14:34:10.752 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1071, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", "id" => "_pojeQDbt5Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_pojeQDbt5Q", "playlist_index" => 12, "timestamp" => 1791909021, "title" => "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "upload_date" => "20261013"} 14:34:10.752 [debug] QUERY OK source="sources" db=0.2ms idle=293.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 14:34:10.753 [debug] QUERY OK source="sources" db=0.1ms idle=294.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:10.759 [debug] QUERY OK source="media_items" db=5.9ms idle=294.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 16:30:21Z], 30] 14:34:10.761 [debug] QUERY OK source="media_items" db=1.3ms idle=300.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" ["There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "f2e46a09-8d9c-4ada-9449-9b7fce3ee17e", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, false, false, 30, [], 98, ~U[2026-10-13 16:30:21Z], ~U[2026-10-26 19:34:10Z], ~U[2026-10-26 19:34:10Z], "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, 30, ~U[2026-10-13 16:30:21Z]] 14:34:10.761 [debug] QUERY OK source="sources" db=0.2ms idle=138.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:34:10.761 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:10.762 [debug] QUERY OK source="media_items" db=0.2ms 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 [4143528] 14:34:10.762 [debug] Current batch of media processed. Will check again in 1000ms 14:34:11.762 [debug] Current batch of media processed. Will check again in 1000ms 14:34:12.763 [debug] Current batch of media processed. Will check again in 1000ms 14:34:13.764 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 782, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", "id" => "kUxDwtlnO_Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "playlist_index" => 13, "timestamp" => 1791822640, "title" => "A New Approach To An Ancient Linux Terminal Problem", "upload_date" => "20261012"} 14:34:13.765 [debug] QUERY OK source="sources" db=0.2ms idle=1306.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:13.765 [debug] QUERY OK source="sources" db=0.1ms idle=1307.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:13.772 [debug] QUERY OK source="media_items" db=6.1ms idle=1307.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 16:30:40Z], 30] 14:34:13.774 [debug] QUERY OK source="media_items" db=1.4ms idle=1146.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 a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "d1500201-fcb1-4a1d-92a1-28354659c0a0", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, false, false, 30, [], 98, ~U[2026-10-12 16:30:40Z], ~U[2026-10-26 19:34:13Z], ~U[2026-10-26 19:34:13Z], "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, 30, ~U[2026-10-12 16:30:40Z]] 14:34:13.774 [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] 14:34:13.775 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:13.775 [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 [4135585] 14:34:13.775 [debug] Current batch of media processed. Will check again in 1000ms 14:34:14.776 [debug] Current batch of media processed. Will check again in 1000ms 14:34:15.777 [debug] Current batch of media processed. Will check again in 1000ms 14:34:16.778 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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" => 910, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", "id" => "SNInG2vGTvE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SNInG2vGTvE", "playlist_index" => 14, "timestamp" => 1791736225, "title" => "X11 Has Better Latency Than Wayland... Technically", "upload_date" => "20261011"} 14:34:16.779 [debug] QUERY OK source="sources" db=0.2ms idle=1320.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:16.779 [debug] QUERY OK source="sources" db=0.1ms idle=1320.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:16.784 [debug] QUERY OK source="media_items" db=5.0ms idle=1321.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-11 16:30:25Z], 30] 14:34:16.786 [debug] QUERY OK source="media_items" db=0.9ms idle=1153.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" ["Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "e3215aee-5aea-469f-86af-14e167570456", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, false, false, 30, [], 98, ~U[2026-10-11 16:30:25Z], ~U[2026-10-26 19:34:16Z], ~U[2026-10-26 19:34:16Z], "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, 30, ~U[2026-10-11 16:30:25Z]] 14:34:16.786 [debug] QUERY OK source="sources" db=0.1ms idle=153.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:34:16.786 [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] 14:34:16.787 [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 [4127723] 14:34:16.787 [debug] Current batch of media processed. Will check again in 1000ms 14:34:17.787 [debug] Current batch of media processed. Will check again in 1000ms 14:34:18.788 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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" => 726, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", "id" => "_3ir-4jfwVg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_3ir-4jfwVg", "playlist_index" => 15, "timestamp" => 1791649806, "title" => "Systemd Wants To Centralize Tracking Your Apps", "upload_date" => "20261010"} 14:34:18.789 [debug] QUERY OK source="sources" db=0.2ms idle=330.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:18.789 [debug] QUERY OK source="sources" db=0.3ms idle=330.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:18.796 [debug] QUERY OK source="media_items" db=5.9ms idle=331.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-10 16:30:06Z], 30] 14:34:18.797 [debug] QUERY OK source="media_items" db=1.3ms idle=337.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" ["Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "d4076de2-467a-4218-b2c4-db93699e23fc", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-10 16:30:06Z], ~U[2026-10-26 19:34:18Z], ~U[2026-10-26 19:34:18Z], "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, 30, ~U[2026-10-10 16:30:06Z]] 14:34:18.798 [debug] QUERY OK source="sources" db=0.2ms idle=162.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:34:18.798 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:18.799 [debug] QUERY OK source="media_items" db=0.2ms 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 [4121430] 14:34:18.799 [debug] Current batch of media processed. Will check again in 1000ms 14:34:19.799 [debug] Current batch of media processed. Will check again in 1000ms 14:34:20.800 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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" => 810, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", "id" => "qWyUF_vMUWM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qWyUF_vMUWM", "playlist_index" => 16, "timestamp" => 1791477008, "title" => "Where Do The Linux Desktops Stand On AI", "upload_date" => "20261008"} 14:34:20.801 [debug] QUERY OK source="sources" db=0.2ms idle=342.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:20.801 [debug] QUERY OK source="sources" db=0.1ms idle=342.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:20.808 [debug] QUERY OK source="media_items" db=6.1ms queue=0.1ms idle=343.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-08 16:30:08Z], 30] 14:34:20.810 [debug] QUERY OK source="media_items" db=1.4ms idle=349.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" ["Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "70c2ac7c-92ac-480a-bec1-51b88436431e", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-08 16:30:08Z], ~U[2026-10-26 19:34:20Z], ~U[2026-10-26 19:34:20Z], "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, 30, ~U[2026-10-08 16:30:08Z]] 14:34:20.810 [debug] QUERY OK source="sources" db=0.1ms idle=171.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:34:20.811 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:20.811 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4105704] 14:34:20.811 [debug] Current batch of media processed. Will check again in 1000ms 14:34:21.812 [debug] Current batch of media processed. Will check again in 1000ms 14:34:22.813 [debug] Current batch of media processed. Will check again in 1000ms 14:34:23.814 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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" => 1091, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", "id" => "47cECizg0mo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=47cECizg0mo", "playlist_index" => 17, "timestamp" => 1791390615, "title" => "Flathub Unbanned AI And No One Noticed", "upload_date" => "20261007"} 14:34:23.815 [debug] QUERY OK source="sources" db=0.2ms idle=1356.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:23.815 [debug] QUERY OK source="sources" db=0.2ms idle=1356.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:23.821 [debug] QUERY OK source="media_items" db=5.8ms idle=1357.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-07 16:30:15Z], 30] 14:34:23.823 [debug] QUERY OK source="media_items" db=1.2ms idle=1180.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" ["Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "7e1410b7-0b3f-4a24-9579-4f4042a64d37", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, false, false, 30, [], 98, ~U[2026-10-07 16:30:15Z], ~U[2026-10-26 19:34:23Z], ~U[2026-10-26 19:34:23Z], "Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, 30, ~U[2026-10-07 16:30:15Z]] 14:34:23.823 [debug] QUERY OK source="sources" db=0.2ms idle=180.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:34:23.824 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:23.824 [debug] QUERY OK source="media_items" db=0.3ms 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 [4097854] 14:34:23.824 [debug] Current batch of media processed. Will check again in 1000ms 14:34:24.825 [debug] Current batch of media processed. Will check again in 1000ms 14:34:25.826 [debug] Current batch of media processed. Will check again in 1000ms 14:34:26.827 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 681, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", "id" => "fz7m96PKVmY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fz7m96PKVmY", "playlist_index" => 18, "timestamp" => 1791304217, "title" => "This Company Tried To Destroy An Open Source Project", "upload_date" => "20261006"} 14:34:26.828 [debug] QUERY OK source="sources" db=0.2ms idle=1369.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 14:34:26.828 [debug] QUERY OK source="sources" db=0.2ms idle=1369.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:34:26.836 [debug] QUERY OK source="media_items" db=7.1ms idle=1370.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-06 16:30:17Z], 30] 14:34:26.838 [debug] QUERY OK source="media_items" db=1.4ms idle=1190.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" ["What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "58b9d172-7d19-4218-b2ec-decfef44f1f0", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, false, false, 30, [], 98, ~U[2026-10-06 16:30:17Z], ~U[2026-10-26 19:34:26Z], ~U[2026-10-26 19:34:26Z], "What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, 30, ~U[2026-10-06 16:30:17Z]] 14:34:26.838 [debug] QUERY OK source="sources" db=0.2ms idle=191.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:34:26.839 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:26.839 [debug] QUERY OK source="media_items" db=0.2ms idle=10.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4089996] 14:34:26.839 [debug] Current batch of media processed. Will check again in 1000ms 14:34:27.840 [debug] Current batch of media processed. Will check again in 1000ms 14:34:28.841 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1278, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", "id" => "wQJG8Gy2VeI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wQJG8Gy2VeI", "playlist_index" => 19, "timestamp" => 1791217824, "title" => "Immutable Linux Distros Have A Big Problem With Apps", "upload_date" => "20261005"} 14:34:28.842 [debug] QUERY OK source="sources" db=0.2ms idle=383.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:28.842 [debug] QUERY OK source="sources" db=0.1ms idle=383.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:28.848 [debug] QUERY OK source="media_items" db=5.8ms idle=384.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-05 16:30:24Z], 30] 14:34:28.853 [debug] QUERY OK source="media_items" db=4.1ms idle=390.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" ["One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "215803f7-0fb8-4fce-a7d7-0612aca9ea7a", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-05 16:30:24Z], ~U[2026-10-26 19:34:28Z], ~U[2026-10-26 19:34:28Z], "One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, 30, ~U[2026-10-05 16:30:24Z]] 14:34:28.853 [debug] QUERY OK source="sources" db=0.1ms idle=203.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:34:28.854 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:28.854 [debug] QUERY OK source="media_items" db=0.2ms idle=11.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4082051] 14:34:28.854 [debug] Current batch of media processed. Will check again in 1000ms 14:34:29.854 [debug] Current batch of media processed. Will check again in 1000ms 14:34:30.777 [info] {"source":"oban","duration":7910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":2} 14:34:30.855 [debug] Current batch of media processed. Will check again in 1000ms 14:34:31.196 [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/64/f2/64f2d37347d25c1fd12b9622ccf0c7fcf3edea0a74f3b993ba1c9a6fe4d92aec.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/7d/be/7dbec3f04407741a5bf08fd9f3f0cc27c89c5e86f06306f1a95411ba89b4f7b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 14:34:31.197 [debug] Gracefully stopping file follower 14:34:31.197 [debug] QUERY OK source="sources" db=0.2ms idle=738.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:31.197 [debug] QUERY OK source="sources" db=0.1ms idle=739.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:31.202 [debug] QUERY OK source="media_items" db=4.6ms idle=739.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 16:30:25Z], 30] 14:34:31.204 [debug] QUERY OK source="media_items" db=1.2ms idle=549.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 gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "e3849bf2-ee94-4585-b9ca-8abd9ce3cc08", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, false, false, 30, [], 98, ~U[2026-10-26 16:30:25Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, 30, ~U[2026-10-26 16:30:25Z]] 14:34:31.204 [debug] QUERY OK source="sources" db=0.5ms idle=426.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:34:31.210 [debug] QUERY OK source="media_items" db=4.9ms 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-10-25 16:30:23Z], 30] 14:34:31.211 [debug] QUERY OK source="media_items" db=1.1ms idle=12.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" ["Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "48dc9dfc-edca-4c2d-9565-357fbd695291", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, false, false, 30, [], 98, ~U[2026-10-25 16:30:23Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, 30, ~U[2026-10-25 16:30:23Z]] 14:34:31.212 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [30] 14:34:31.217 [debug] QUERY OK source="media_items" db=4.5ms idle=8.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 16:30:31Z], 30] 14:34:31.218 [debug] QUERY OK source="media_items" db=1.0ms idle=12.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" ["As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "faa6f119-e79c-486e-b8d0-44836afb7b07", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-24 16:30:31Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, 30, ~U[2026-10-24 16:30:31Z]] 14:34:31.219 [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] 14:34:31.224 [debug] QUERY OK source="media_items" db=4.8ms 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-10-22 16:30:06Z], 30] 14:34:31.226 [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" ["After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "e36dde02-1999-47c7-81f3-eb5569b23cac", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, false, false, 30, [], 98, ~U[2026-10-22 16:30:06Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, 30, ~U[2026-10-22 16:30:06Z]] 14:34:31.226 [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] 14:34:31.231 [debug] QUERY OK source="media_items" db=4.4ms idle=8.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 16:30:28Z], 30] 14:34:31.232 [debug] QUERY OK source="media_items" db=0.9ms 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" ["For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "5f6234fa-b64a-4530-bd72-6ed26fc42947", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, false, false, 30, [], 98, ~U[2026-10-21 16:30:28Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, 30, ~U[2026-10-21 16:30:28Z]] 14:34:31.233 [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] 14:34:31.238 [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-10-20 16:30:13Z], 30] 14:34:31.239 [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" ["Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "a0d29c9c-4328-47ec-89ae-2e882ea1eb2c", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, false, false, 30, [], 98, ~U[2026-10-20 16:30:13Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, 30, ~U[2026-10-20 16:30:13Z]] 14:34:31.240 [debug] QUERY OK source="sources" db=0.9ms 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] 14:34:31.245 [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-10-19 16:30:21Z], 30] 14:34:31.247 [debug] QUERY OK source="media_items" db=1.0ms 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" ["So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "ff01d870-8fe7-4d0e-90a8-c17b823767f5", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, false, false, 30, [], 98, ~U[2026-10-19 16:30:21Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, 30, ~U[2026-10-19 16:30:21Z]] 14:34:31.247 [debug] QUERY OK source="sources" db=0.6ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:34:31.252 [debug] QUERY OK source="media_items" db=4.3ms idle=8.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-18 16:30:36Z], 30] 14:34:31.253 [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" ["Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "b117b27e-438f-40f4-8a86-04dd22ed160f", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-10-18 16:30:36Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, 30, ~U[2026-10-18 16:30:36Z]] 14:34:31.254 [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] 14:34:31.259 [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-10-17 16:30:08Z], 30] 14:34:31.260 [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" ["If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "f74a5454-e938-4cb7-b8b2-607e1f23ecd3", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, false, false, 30, [], 98, ~U[2026-10-17 16:30:08Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, 30, ~U[2026-10-17 16:30:08Z]] 14:34:31.261 [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] 14:34:31.266 [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-10-15 16:30:27Z], 30] 14:34:31.294 [debug] QUERY OK source="media_items" db=28.1ms 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" ["Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "026954c3-195a-4a57-a758-eb55e5d53b39", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, false, false, 30, [], 98, ~U[2026-10-15 16:30:27Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, 30, ~U[2026-10-15 16:30:27Z]] 14:34:31.296 [debug] QUERY OK source="sources" db=0.9ms idle=35.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:31.300 [debug] QUERY OK source="media_items" db=4.3ms idle=35.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 16:30:14Z], 30] 14:34:31.305 [debug] QUERY OK source="media_items" db=4.8ms idle=39.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" ["Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "c4708d80-0df1-4175-86db-6b699d83396f", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, false, false, 30, [], 98, ~U[2026-10-14 16:30:14Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, 30, ~U[2026-10-14 16:30:14Z]] 14:34:31.306 [debug] QUERY OK source="sources" db=0.6ms idle=39.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:34:31.311 [debug] QUERY OK source="media_items" db=4.4ms idle=12.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 16:30:21Z], 30] 14:34:31.312 [debug] QUERY OK source="media_items" db=1.1ms idle=15.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" ["There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "f04be59c-f3fd-486a-a03a-f5b9cc9fcc84", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, false, false, 30, [], 98, ~U[2026-10-13 16:30:21Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, 30, ~U[2026-10-13 16:30:21Z]] 14:34:31.313 [debug] QUERY OK source="sources" db=0.6ms idle=12.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:34:31.318 [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-10-12 16:30:40Z], 30] 14:34:31.319 [debug] QUERY OK source="media_items" db=1.1ms 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" ["For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "13b555bf-6153-4b95-8141-52fdfe741847", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, false, false, 30, [], 98, ~U[2026-10-12 16:30:40Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, 30, ~U[2026-10-12 16:30:40Z]] 14:34:31.320 [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] 14:34:31.324 [debug] QUERY OK source="media_items" db=4.4ms 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-10-11 16:30:25Z], 30] 14:34:31.326 [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" ["Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "82ff91ed-f551-4873-9901-7bd14f8e387a", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, false, false, 30, [], 98, ~U[2026-10-11 16:30:25Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, 30, ~U[2026-10-11 16:30:25Z]] 14:34:31.327 [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] 14:34:31.331 [debug] QUERY OK source="media_items" db=4.4ms 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-10-10 16:30:06Z], 30] 14:34:31.332 [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" ["Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "060d8db8-d928-47a6-b499-90f286ab8425", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-10 16:30:06Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, 30, ~U[2026-10-10 16:30:06Z]] 14:34:31.333 [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] 14:34:31.338 [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-10-08 16:30:08Z], 30] 14:34:31.341 [debug] QUERY OK source="media_items" db=3.3ms 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" ["Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "556715ff-d5bf-4993-9589-6bac292c09af", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-08 16:30:08Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, 30, ~U[2026-10-08 16:30:08Z]] 14:34:31.342 [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] 14:34:31.347 [debug] QUERY OK source="media_items" db=4.5ms 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-10-07 16:30:15Z], 30] 14:34:31.348 [debug] QUERY OK source="media_items" db=1.0ms idle=13.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" ["Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "042e0d0d-8ced-42fb-9e73-16ce299a10a3", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", 17, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, false, false, 30, [], 98, ~U[2026-10-07 16:30:15Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "Back in May it was this big deal that Flathub banned AI code on the platform, well it turns out that not even a month later they were in the process of reverting that and nobody noticed\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.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 Announcement: https://social.treehouse.systems/@barthalion/116657011366876079\nDoc PR: https://github.com/flathub-infra/documentation/pull/641\nDoc Issue: https://github.com/flathub-infra/documentation/issues/620\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Flathub #Flatpak #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.", "Flathub Unbanned AI And No One Noticed", "47cECizg0mo", 1091, false, "https://www.youtube.com/watch?v=47cECizg0mo", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100700_Flathub Unbanned AI And No One Noticed.mp4", false, 30, ~U[2026-10-07 16:30:15Z]] 14:34:31.349 [debug] QUERY OK source="sources" db=0.5ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 14:34:31.354 [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-10-06 16:30:17Z], 30] 14:34:31.355 [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" ["What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "784338af-93c7-4d75-a3bf-581ec4497b90", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", 18, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, false, false, 30, [], 98, ~U[2026-10-06 16:30:17Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "What happens when a company purchases another company that owns an open source project, in the best case nothing and they just leave it alone, in the worst case you get what happened to OpenRadioss\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPurchase Post: https://press.siemens.com/global/en/pressrelease/siemens-acquires-altair-create-most-complete-ai-powered-portfolio-industrial-software\nBlog Post: https://www.siemens.com/en-us/products/simcenter/mechanical-simulation/radioss/rd/\nOpenCourant Website: https://github.com/OpenCourant/OpenCourant\nOpenCourant Github: https://opencourant.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #RockyLinux #Siemens #OpenRadioss\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "This Company Tried To Destroy An Open Source Project", "fz7m96PKVmY", 681, false, "https://www.youtube.com/watch?v=fz7m96PKVmY", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100600_This Company Tried To Destroy An Open Source Project.mp4", false, 30, ~U[2026-10-06 16:30:17Z]] 14:34:31.356 [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] 14:34:31.361 [debug] QUERY OK source="media_items" db=4.6ms 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-10-05 16:30:24Z], 30] 14:34:31.362 [debug] QUERY OK source="media_items" db=1.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" ["One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "ea279725-cdee-4e9b-9b16-03a393f063cb", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", 19, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-05 16:30:24Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "One of the big problems with an immutable Linux distro is installing new software but now we're seeing some work going into to making that much easier.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nToolpak Blogpost: https://blogs.gnome.org/alatiera/2026/09/26/introducing-toolpak/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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#Linux #Flatpak #OpenSource #FOSS\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Immutable Linux Distros Have A Big Problem With Apps", "wQJG8Gy2VeI", 1278, false, "https://www.youtube.com/watch?v=wQJG8Gy2VeI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100500_Immutable Linux Distros Have A Big Problem With Apps.mp4", false, 30, ~U[2026-10-05 16:30:24Z]] 14:34:31.363 [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] 14:34:31.368 [debug] QUERY OK source="media_items" db=4.8ms 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-10-04 16:30:05Z], 30] 14:34:31.370 [debug] QUERY OK source="media_items" db=1.3ms 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" ["You'd think an office suite wouldn't be a point of debate that anyone cares about but it turns out on Fedora that may not be the case.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nForum Thread: https://discussion.fedoraproject.org/t/suggestion-retire-libreoffice-ship-collabora-as-the-default-office-suite-out-of-the-box/202428\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LibreOffice #Collabora #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.", "Does Anyone On Linux Actually Care About Office Suites", "e2a37141-40b8-42fc-998e-aef565878af7", "4GlNQatbLss", 1047, false, "https://www.youtube.com/watch?v=4GlNQatbLss", 20, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100400_Does Anyone On Linux Actually Care About Office Suites.mp4", false, false, false, 30, [], 98, ~U[2026-10-04 16:30:05Z], ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], "You'd think an office suite wouldn't be a point of debate that anyone cares about but it turns out on Fedora that may not be the case.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nForum Thread: https://discussion.fedoraproject.org/t/suggestion-retire-libreoffice-ship-collabora-as-the-default-office-suite-out-of-the-box/202428\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LibreOffice #Collabora #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.", "Does Anyone On Linux Actually Care About Office Suites", "4GlNQatbLss", 1047, false, "https://www.youtube.com/watch?v=4GlNQatbLss", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100400_Does Anyone On Linux Actually Care About Office Suites.mp4", false, 30, ~U[2026-10-04 16:30:05Z]] 14:34:31.371 [debug] QUERY OK source="sources" db=0.6ms idle=9.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z], 30] 14:34:31.375 [debug] QUERY OK source="media_items" db=4.5ms idle=8.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 14:34:31.380 [debug] QUERY OK source="media_items" db=4.7ms idle=12.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] 14:34:31.381 [debug] QUERY OK source="media_items" db=0.8ms idle=12.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 14:34:31.383 [debug] QUERY OK source="tasks" db=0.6ms idle=7.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541643, 30, ~U[2026-10-26 19:34:31Z], ~U[2026-10-26 19:34:31Z]] 14:34:31.384 [info] {"args":{"id":30},"id":541585,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":49793529,"event":"job:stop","queue_time":710933,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:35:00.309 [info] {"source":"oban","duration":159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:35:00.704 [info] {"args":{"id":35},"id":541535,"meta":{},"system_time":1793043300704147562,"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"]} 14:35:00.704 [debug] QUERY OK source="sources" db=0.2ms idle=245.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:00.704 [debug] QUERY OK source="settings" db=0.1ms idle=246.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:00.708 [debug] QUERY OK source="media_items" db=2.9ms idle=246.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] 14:35:00.708 [debug] QUERY OK source="media_items" db=0.3ms idle=9.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 14:35:00.708 [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] 14:35:00.709 [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 [] 14:35:00.709 [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 [] 14:35:00.713 [debug] QUERY OK source="media_items" db=2.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."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [35] 14:35:00.715 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:35:00.715 [debug] Current batch of media processed. Will check again in 1000ms 14:35:00.715 [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 [] 14:35:00.715 [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 [] 14:35:00.715 [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 [] 14:35:00.715 [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/62/4d/624dd85095d92c9d1d89450341aeefc1bdcb59d0422b18715187ce59cc368415.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/58/58/58582523c4e6faa5c64deb30dc7f6cb7aa4797e6b18f1cd94738cac5257969fb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:35:00.786 [info] {"source":"oban","duration":7913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:01.715 [debug] Current batch of media processed. Will check again in 1000ms 14:35:02.716 [debug] Current batch of media processed. Will check again in 1000ms 14:35:03.717 [debug] Current batch of media processed. Will check again in 1000ms 14:35:04.718 [debug] Current batch of media processed. Will check again in 1000ms 14:35:05.719 [debug] Current batch of media processed. Will check again in 1000ms 14:35:06.720 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "ProtoArc recently sent me their new EM06 trackball mouse to try out. This mouse is a 55mm center ball mouse with 7 programmable buttons. Configuration is simple and done through the web browser. Works on Windows, Mac and Linux! \n\nProduct links\n- Amazon US: https://dada.link/AHN775\n- Amazon UK: https://dada.link/PTFRPt\n- Amazon DE: https://dada.link/FXDlKn\n- Official Site: https://dada.link/a0Uruo\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" => 1314, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e102400_The Brilliantly Designed ProtoArc EM06 Trackball Mouse.mp4", "id" => "EUbWgy5MZOw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EUbWgy5MZOw", "playlist_index" => 1, "timestamp" => 1792872916, "title" => "The Brilliantly Designed ProtoArc EM06 Trackball Mouse", "upload_date" => "20261024"} 14:35:06.721 [debug] QUERY OK source="sources" db=0.2ms idle=262.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:06.721 [debug] QUERY OK source="sources" db=0.1ms idle=262.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:06.723 [debug] QUERY OK source="media_items" db=1.1ms idle=263.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 20:15:16Z], 35] 14:35:06.724 [debug] QUERY OK source="media_items" db=1.5ms idle=264.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" ["ProtoArc recently sent me their new EM06 trackball mouse to try out. This mouse is a 55mm center ball mouse with 7 programmable buttons. Configuration is simple and done through the web browser. Works on Windows, Mac and Linux! \n\nProduct links\n- Amazon US: https://dada.link/AHN775\n- Amazon UK: https://dada.link/PTFRPt\n- Amazon DE: https://dada.link/FXDlKn\n- Official Site: https://dada.link/a0Uruo\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!", "The Brilliantly Designed ProtoArc EM06 Trackball Mouse", "cf9a7fe7-5038-41b1-bb97-f7ea306497e6", "EUbWgy5MZOw", 1314, false, "https://www.youtube.com/watch?v=EUbWgy5MZOw", 1, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e102400_The Brilliantly Designed ProtoArc EM06 Trackball Mouse.mp4", false, false, false, 35, [], 98, ~U[2026-10-24 20:15:16Z], ~U[2026-10-26 19:35:06Z], ~U[2026-10-26 19:35:06Z], "ProtoArc recently sent me their new EM06 trackball mouse to try out. This mouse is a 55mm center ball mouse with 7 programmable buttons. Configuration is simple and done through the web browser. Works on Windows, Mac and Linux! \n\nProduct links\n- Amazon US: https://dada.link/AHN775\n- Amazon UK: https://dada.link/PTFRPt\n- Amazon DE: https://dada.link/FXDlKn\n- Official Site: https://dada.link/a0Uruo\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!", "The Brilliantly Designed ProtoArc EM06 Trackball Mouse", "EUbWgy5MZOw", 1314, false, "https://www.youtube.com/watch?v=EUbWgy5MZOw", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e102400_The Brilliantly Designed ProtoArc EM06 Trackball Mouse.mp4", false, 35, ~U[2026-10-24 20:15:16Z]] 14:35:06.725 [debug] QUERY OK source="sources" db=0.2ms idle=19.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:35:06.725 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:35:06.726 [debug] QUERY OK source="media_items" db=0.7ms 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 [4231455] 14:35:06.726 [debug] Current batch of media processed. Will check again in 1000ms 14:35:07.727 [debug] Current batch of media processed. Will check again in 1000ms 14:35:08.728 [debug] Current batch of media processed. Will check again in 1000ms 14:35:09.729 [debug] Current batch of media processed. Will check again in 1000ms 14:35:10.730 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "FunOS is a GNU/Linux distribution based on Ubuntu LTS. It uses the JWM window manager, comes without Snap, and includes the latest Ubuntu HWE kernel. Perfect for users who want a fast and minimal Linux experience without sacrificing stability.\n\nREFERENCED:\n► https://funos.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" => 1267, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101800_An Installation and First Look at FunOS.mp4", "id" => "sUUKNgzF-pQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sUUKNgzF-pQ", "playlist_index" => 2, "timestamp" => 1792335606, "title" => "An Installation and First Look at FunOS", "upload_date" => "20261018"} 14:35:10.731 [debug] QUERY OK source="sources" db=0.2ms idle=272.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:10.731 [debug] QUERY OK source="sources" db=0.1ms idle=272.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:10.734 [debug] QUERY OK source="media_items" db=2.7ms idle=273.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-18 15:00:06Z], 35] 14:35:10.735 [debug] QUERY OK source="media_items" db=0.8ms idle=276.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" ["FunOS is a GNU/Linux distribution based on Ubuntu LTS. It uses the JWM window manager, comes without Snap, and includes the latest Ubuntu HWE kernel. Perfect for users who want a fast and minimal Linux experience without sacrificing stability.\n\nREFERENCED:\n► https://funos.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!", "An Installation and First Look at FunOS", "bd0921f3-d4ae-45fa-9c15-a1ff3e1141f3", "sUUKNgzF-pQ", 1267, false, "https://www.youtube.com/watch?v=sUUKNgzF-pQ", 2, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101800_An Installation and First Look at FunOS.mp4", false, false, false, 35, [], 98, ~U[2026-10-18 15:00:06Z], ~U[2026-10-26 19:35:10Z], ~U[2026-10-26 19:35:10Z], "FunOS is a GNU/Linux distribution based on Ubuntu LTS. It uses the JWM window manager, comes without Snap, and includes the latest Ubuntu HWE kernel. Perfect for users who want a fast and minimal Linux experience without sacrificing stability.\n\nREFERENCED:\n► https://funos.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!", "An Installation and First Look at FunOS", "sUUKNgzF-pQ", 1267, false, "https://www.youtube.com/watch?v=sUUKNgzF-pQ", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101800_An Installation and First Look at FunOS.mp4", false, 35, ~U[2026-10-18 15:00:06Z]] 14:35:10.736 [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] 14:35:10.736 [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] 14:35:10.736 [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 [4182526] 14:35:10.736 [debug] Current batch of media processed. Will check again in 1000ms 14:35:11.737 [debug] Current batch of media processed. Will check again in 1000ms 14:35:12.738 [debug] Current batch of media processed. Will check again in 1000ms 14:35:13.739 [debug] Current batch of media processed. Will check again in 1000ms 14:35:14.740 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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" => 621, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", "id" => "i16PHb8EagE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i16PHb8EagE", "playlist_index" => 3, "timestamp" => 1791744331, "title" => "A.I. Bots Have Taken Over Our Lives", "upload_date" => "20261011"} 14:35:14.741 [debug] QUERY OK source="sources" db=0.1ms idle=282.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:14.741 [debug] QUERY OK source="sources" db=0.1ms idle=282.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:14.744 [debug] QUERY OK source="media_items" db=2.9ms idle=282.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-11 18:45:31Z], 35] 14:35:14.746 [debug] QUERY OK source="media_items" db=0.9ms idle=286.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" ["Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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. Bots Have Taken Over Our Lives", "248c388b-5458-4cae-a5dc-905b2e3fb6ab", "i16PHb8EagE", 621, false, "https://www.youtube.com/watch?v=i16PHb8EagE", 3, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", false, false, false, 35, [], 98, ~U[2026-10-11 18:45:31Z], ~U[2026-10-26 19:35:14Z], ~U[2026-10-26 19:35:14Z], "Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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. Bots Have Taken Over Our Lives", "i16PHb8EagE", 621, false, "https://www.youtube.com/watch?v=i16PHb8EagE", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", false, 35, ~U[2026-10-11 18:45:31Z]] 14:35:14.746 [debug] QUERY OK source="sources" db=0.1ms idle=31.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:35:14.746 [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] 14:35:14.747 [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 [4128476] 14:35:14.747 [debug] Current batch of media processed. Will check again in 1000ms 14:35:15.747 [debug] Current batch of media processed. Will check again in 1000ms 14:35:16.748 [debug] Current batch of media processed. Will check again in 1000ms 14:35:17.749 [debug] Current batch of media processed. Will check again in 1000ms 14:35:18.750 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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" => 475, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", "id" => "q7kF6Jb2a8w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=q7kF6Jb2a8w", "playlist_index" => 4, "timestamp" => 1791118826, "title" => "Linux Distros Should Stop Worrying About Their Desktops", "upload_date" => "20261004"} 14:35:18.751 [debug] QUERY OK source="sources" db=0.1ms idle=292.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:18.751 [debug] QUERY OK source="sources" db=0.1ms idle=292.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:18.754 [debug] QUERY OK source="media_items" db=2.9ms idle=292.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-04 13:00:26Z], 35] 14:35:18.756 [debug] QUERY OK source="media_items" db=0.9ms idle=296.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 think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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 Distros Should Stop Worrying About Their Desktops", "5d478834-95c0-4187-b258-a019dab94cd8", "q7kF6Jb2a8w", 475, false, "https://www.youtube.com/watch?v=q7kF6Jb2a8w", 4, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", false, false, false, 35, [], 98, ~U[2026-10-04 13:00:26Z], ~U[2026-10-26 19:35:18Z], ~U[2026-10-26 19:35:18Z], "I think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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 Distros Should Stop Worrying About Their Desktops", "q7kF6Jb2a8w", 475, false, "https://www.youtube.com/watch?v=q7kF6Jb2a8w", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", false, 35, ~U[2026-10-04 13:00:26Z]] 14:35:18.756 [debug] QUERY OK source="sources" db=0.1ms idle=35.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:35:18.756 [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] 14:35:18.756 [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 [4073440] 14:35:18.756 [debug] Current batch of media processed. Will check again in 1000ms 14:35:19.757 [debug] Current batch of media processed. Will check again in 1000ms 14:35:20.758 [debug] Current batch of media processed. Will check again in 1000ms 14:35:21.759 [debug] Current batch of media processed. Will check again in 1000ms 14:35:22.542 [info] GET /sources/35/media/3453444/edit 14:35:22.542 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "3453444", "source_id" => "35"} Pipelines: [:browser] 14:35:22.542 [debug] QUERY OK source="media_items" db=0.2ms idle=818.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" = ?) [3453444] 14:35:22.542 [debug] QUERY OK source="settings" db=0.0ms idle=84.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:22.543 [debug] QUERY OK source="settings" db=0.1ms idle=84.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:22.543 [debug] QUERY OK source="settings" db=0.1ms idle=84.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:22.544 [info] Sent 200 in 2ms 14:35:22.760 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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" => 1699, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", "id" => "czYbW2UKRdE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=czYbW2UKRdE", "playlist_index" => 5, "timestamp" => 1790434825, "title" => "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "upload_date" => "20260926"} 14:35:22.761 [debug] QUERY OK source="sources" db=0.2ms idle=218.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:22.761 [debug] QUERY OK source="sources" db=0.1ms idle=218.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:22.765 [debug] QUERY OK source="media_items" db=3.2ms idle=218.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-26 15:00:25Z], 35] 14:35:22.767 [debug] QUERY OK source="media_items" db=1.7ms idle=222.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" ["On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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!", "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "1356a103-f168-4782-96fe-164ea19b4f06", "czYbW2UKRdE", 1699, false, "https://www.youtube.com/watch?v=czYbW2UKRdE", 5, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", false, false, false, 35, [], 98, ~U[2026-09-26 15:00:25Z], ~U[2026-10-26 19:35:22Z], ~U[2026-10-26 19:35:22Z], "On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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!", "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "czYbW2UKRdE", 1699, false, "https://www.youtube.com/watch?v=czYbW2UKRdE", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", false, 35, ~U[2026-09-26 15:00:25Z]] 14:35:22.768 [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" = ?) [35] 14:35:22.768 [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] 14:35:22.768 [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 [4011004] 14:35:22.769 [debug] Current batch of media processed. Will check again in 1000ms 14:35:23.769 [debug] Current batch of media processed. Will check again in 1000ms 14:35:24.770 [debug] Current batch of media processed. Will check again in 1000ms 14:35:25.771 [debug] Current batch of media processed. Will check again in 1000ms 14:35:26.772 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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" => 1093, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", "id" => "3RfulXEEEN4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3RfulXEEEN4", "playlist_index" => 6, "timestamp" => 1789833606, "title" => "Vidman - A Program To View Video Man Pages", "upload_date" => "20260919"} 14:35:26.773 [debug] QUERY OK source="sources" db=0.3ms idle=314.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:26.773 [debug] QUERY OK source="sources" db=0.1ms idle=315.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:26.777 [debug] QUERY OK source="media_items" db=3.4ms idle=315.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-19 16:00:06Z], 35] 14:35:26.780 [debug] QUERY OK source="media_items" db=1.9ms idle=319.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" ["Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "Vidman - A Program To View Video Man Pages", "2fe3ab27-008a-4bee-9a18-8e0fe3bf8d91", "3RfulXEEEN4", 1093, false, "https://www.youtube.com/watch?v=3RfulXEEEN4", 6, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", false, false, false, 35, [], 98, ~U[2026-09-19 16:00:06Z], ~U[2026-10-26 19:35:26Z], ~U[2026-10-26 19:35:26Z], "Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "Vidman - A Program To View Video Man Pages", "3RfulXEEEN4", 1093, false, "https://www.youtube.com/watch?v=3RfulXEEEN4", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", false, 35, ~U[2026-09-19 16:00:06Z]] 14:35:26.780 [debug] QUERY OK source="sources" db=0.2ms idle=50.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:35:26.780 [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] 14:35:26.781 [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 [3959280] 14:35:26.781 [debug] Current batch of media processed. Will check again in 1000ms 14:35:27.781 [debug] Current batch of media processed. Will check again in 1000ms 14:35:28.782 [debug] Current batch of media processed. Will check again in 1000ms 14:35:29.783 [debug] Current batch of media processed. Will check again in 1000ms 14:35:30.784 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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" => 367, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", "id" => "2SyiQrsPyu8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2SyiQrsPyu8", "playlist_index" => 7, "timestamp" => 1789222519, "title" => "'nl' - number lines of files - Video Man Pages", "upload_date" => "20260912"} 14:35:30.785 [debug] QUERY OK source="sources" db=0.2ms idle=326.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:30.785 [debug] QUERY OK source="sources" db=0.1ms idle=327.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:30.790 [debug] QUERY OK source="media_items" db=3.8ms idle=327.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-12 14:15:19Z], 35] 14:35:30.797 [info] {"source":"oban","duration":9523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:30.799 [debug] QUERY OK source="media_items" db=1.7ms idle=61.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 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "'nl' - number lines of files - Video Man Pages", "8fee21e1-c361-4790-b089-638b02d4a7f2", "2SyiQrsPyu8", 367, false, "https://www.youtube.com/watch?v=2SyiQrsPyu8", 7, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", false, false, false, 35, [], 98, ~U[2026-09-12 14:15:19Z], ~U[2026-10-26 19:35:30Z], ~U[2026-10-26 19:35:30Z], "The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "'nl' - number lines of files - Video Man Pages", "2SyiQrsPyu8", 367, false, "https://www.youtube.com/watch?v=2SyiQrsPyu8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", false, 35, ~U[2026-09-12 14:15:19Z]] 14:35:30.799 [debug] QUERY OK source="sources" db=0.2ms idle=13.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:35:30.799 [debug] QUERY OK source="media_profiles" db=0.2ms idle=13.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] 14:35:30.800 [debug] QUERY OK source="media_items" db=0.5ms idle=10.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 [3903107] 14:35:30.800 [debug] Current batch of media processed. Will check again in 1000ms 14:35:31.801 [debug] Current batch of media processed. Will check again in 1000ms 14:35:32.802 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Politics infects everything...including Linux. Don't let this happen!\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" => 127, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", "id" => "DvI93IJvNSQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DvI93IJvNSQ", "playlist_index" => 8, "timestamp" => 1788627603, "title" => "Don't Let Linux Become Like This!", "upload_date" => "20260905"} 14:35:32.803 [debug] QUERY OK source="sources" db=0.2ms idle=344.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:32.803 [debug] QUERY OK source="sources" db=0.1ms idle=345.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:32.807 [debug] QUERY OK source="media_items" db=3.5ms idle=345.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-05 17:00:03Z], 35] 14:35:32.810 [debug] QUERY OK source="media_items" db=2.1ms idle=349.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" ["Politics infects everything...including Linux. Don't let this happen!\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!", "Don't Let Linux Become Like This!", "f057d0e4-22da-4f3f-9b1d-e3a71239d7a4", "DvI93IJvNSQ", 127, false, "https://www.youtube.com/watch?v=DvI93IJvNSQ", 8, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", false, false, false, 35, [], 98, ~U[2026-09-05 17:00:03Z], ~U[2026-10-26 19:35:32Z], ~U[2026-10-26 19:35:32Z], "Politics infects everything...including Linux. Don't let this happen!\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!", "Don't Let Linux Become Like This!", "DvI93IJvNSQ", 127, false, "https://www.youtube.com/watch?v=DvI93IJvNSQ", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", false, 35, ~U[2026-09-05 17:00:03Z]] 14:35:32.810 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [35] 14:35:32.811 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:35:32.811 [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 [3848595] 14:35:32.811 [debug] Current batch of media processed. Will check again in 1000ms 14:35:33.812 [debug] Current batch of media processed. Will check again in 1000ms 14:35:34.813 [debug] Current batch of media processed. Will check again in 1000ms 14:35:35.814 [debug] Current batch of media processed. Will check again in 1000ms 14:35:36.815 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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" => 339, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", "id" => "Jg3Hal7vPUo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Jg3Hal7vPUo", "playlist_index" => 9, "timestamp" => 1788025041, "title" => "'yes' - output a string repeatedly - Video Man Pages", "upload_date" => "20260829"} 14:35:36.816 [debug] QUERY OK source="sources" db=0.3ms idle=357.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:36.816 [debug] QUERY OK source="sources" db=0.2ms idle=358.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:36.820 [debug] QUERY OK source="media_items" db=3.7ms idle=358.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-29 17:37:21Z], 35] 14:35:36.823 [debug] QUERY OK source="media_items" db=2.1ms idle=362.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 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'yes' - output a string repeatedly - Video Man Pages", "8bb9c34f-ac45-42d4-b302-6703f5d6d2d6", "Jg3Hal7vPUo", 339, false, "https://www.youtube.com/watch?v=Jg3Hal7vPUo", 9, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", false, false, false, 35, [], 97, ~U[2026-08-29 17:37:21Z], ~U[2026-10-26 19:35:36Z], ~U[2026-10-26 19:35:36Z], "The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'yes' - output a string repeatedly - Video Man Pages", "Jg3Hal7vPUo", 339, false, "https://www.youtube.com/watch?v=Jg3Hal7vPUo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", false, 35, ~U[2026-08-29 17:37:21Z]] 14:35:36.824 [debug] QUERY OK source="sources" db=0.2ms idle=80.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:35:36.824 [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] 14:35:36.824 [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 [3793401] 14:35:36.825 [debug] Current batch of media processed. Will check again in 1000ms 14:35:37.825 [debug] Current batch of media processed. Will check again in 1000ms 14:35:38.826 [debug] Current batch of media processed. Will check again in 1000ms 14:35:39.827 [debug] Current batch of media processed. Will check again in 1000ms 14:35:40.828 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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" => 139, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", "id" => "-8zN6rhA4hU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-8zN6rhA4hU", "playlist_index" => 10, "timestamp" => 1788025027, "title" => "'basename' - strip directory from filenames - Video Man Pages", "upload_date" => "20260829"} 14:35:40.829 [debug] QUERY OK source="sources" db=0.2ms idle=370.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:40.829 [debug] QUERY OK source="sources" db=0.1ms idle=371.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:40.833 [debug] QUERY OK source="media_items" db=3.5ms idle=371.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-29 17:37:07Z], 35] 14:35:40.836 [debug] QUERY OK source="media_items" db=1.9ms idle=375.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" ["The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'basename' - strip directory from filenames - Video Man Pages", "0e1ef25e-4a9d-4c10-b892-f47edc903673", "-8zN6rhA4hU", 139, false, "https://www.youtube.com/watch?v=-8zN6rhA4hU", 10, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", false, false, false, 35, [], 97, ~U[2026-08-29 17:37:07Z], ~U[2026-10-26 19:35:40Z], ~U[2026-10-26 19:35:40Z], "The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'basename' - strip directory from filenames - Video Man Pages", "-8zN6rhA4hU", 139, false, "https://www.youtube.com/watch?v=-8zN6rhA4hU", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", false, 35, ~U[2026-08-29 17:37:07Z]] 14:35:40.836 [debug] QUERY OK source="sources" db=0.1ms idle=87.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:35:40.836 [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] 14:35:40.837 [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 [3793403] 14:35:40.837 [debug] Current batch of media processed. Will check again in 1000ms 14:35:41.837 [debug] Current batch of media processed. Will check again in 1000ms 14:35:42.838 [debug] Current batch of media processed. Will check again in 1000ms 14:35:43.839 [debug] Current batch of media processed. Will check again in 1000ms 14:35:44.840 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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" => 541, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", "id" => "A6XI_0DWQOw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=A6XI_0DWQOw", "playlist_index" => 11, "timestamp" => 1785589225, "title" => "The Age Of Beginner Friendly Distros Is Over", "upload_date" => "20260801"} 14:35:44.841 [debug] QUERY OK source="sources" db=0.2ms idle=382.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:44.841 [debug] QUERY OK source="sources" db=0.1ms idle=382.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:44.845 [debug] QUERY OK source="media_items" db=3.4ms idle=383.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-01 13:00:25Z], 35] 14:35:44.847 [debug] QUERY OK source="media_items" db=1.8ms idle=386.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" ["Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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!", "The Age Of Beginner Friendly Distros Is Over", "9ad74be3-fddd-4ddd-b586-4d9d1184ba9f", "A6XI_0DWQOw", 541, false, "https://www.youtube.com/watch?v=A6XI_0DWQOw", 11, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", false, false, false, 35, [], 98, ~U[2026-08-01 13:00:25Z], ~U[2026-10-26 19:35:44Z], ~U[2026-10-26 19:35:44Z], "Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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!", "The Age Of Beginner Friendly Distros Is Over", "A6XI_0DWQOw", 541, false, "https://www.youtube.com/watch?v=A6XI_0DWQOw", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", false, 35, ~U[2026-08-01 13:00:25Z]] 14:35:44.847 [debug] QUERY OK source="sources" db=0.2ms idle=93.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:35:44.848 [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] 14:35:44.848 [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 [3571449] 14:35:44.848 [debug] Current batch of media processed. Will check again in 1000ms 14:35:45.849 [debug] Current batch of media processed. Will check again in 1000ms 14:35:46.850 [debug] Current batch of media processed. Will check again in 1000ms 14:35:47.851 [debug] Current batch of media processed. Will check again in 1000ms 14:35:48.852 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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" => 534, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", "id" => "-IQ75MwPS0M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-IQ75MwPS0M", "playlist_index" => 12, "timestamp" => 1784898025, "title" => "The Mousam Weather App For Linux", "upload_date" => "20260724"} 14:35:48.853 [debug] QUERY OK source="sources" db=0.2ms idle=394.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:48.853 [debug] QUERY OK source="sources" db=0.1ms idle=394.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:48.857 [debug] QUERY OK source="media_items" db=3.5ms idle=395.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 13:00:25Z], 35] 14:35:48.862 [debug] QUERY OK source="media_items" db=4.6ms idle=398.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" ["Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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!", "The Mousam Weather App For Linux", "bd0b4864-6b3f-49ce-b8e3-2873226f4f8b", "-IQ75MwPS0M", 534, false, "https://www.youtube.com/watch?v=-IQ75MwPS0M", 12, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", false, false, false, 35, [], 98, ~U[2026-07-24 13:00:25Z], ~U[2026-10-26 19:35:48Z], ~U[2026-10-26 19:35:48Z], "Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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!", "The Mousam Weather App For Linux", "-IQ75MwPS0M", 534, false, "https://www.youtube.com/watch?v=-IQ75MwPS0M", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", false, 35, ~U[2026-07-24 13:00:25Z]] 14:35:48.863 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [35] 14:35:48.863 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:35:48.864 [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 [3508688] 14:35:48.864 [debug] Current batch of media processed. Will check again in 1000ms 14:35:49.864 [debug] Current batch of media processed. Will check again in 1000ms 14:35:50.865 [debug] Current batch of media processed. Will check again in 1000ms 14:35:51.866 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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" => 678, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", "id" => "cp8si5zO2m0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cp8si5zO2m0", "playlist_index" => 13, "timestamp" => 1784293232, "title" => "I'm Not A Web Dev...So Claude Designed A Website For Me!", "upload_date" => "20260717"} 14:35:51.867 [debug] QUERY OK source="sources" db=0.2ms idle=1408.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:51.867 [debug] QUERY OK source="sources" db=0.1ms idle=1408.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:35:51.872 [debug] QUERY OK source="media_items" db=4.3ms idle=1409.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-17 13:00:32Z], 35] 14:35:51.874 [debug] QUERY OK source="media_items" db=2.2ms idle=1109.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" ["So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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 Not A Web Dev...So Claude Designed A Website For Me!", "888ac284-0dac-459c-850d-ca4e35013e52", "cp8si5zO2m0", 678, false, "https://www.youtube.com/watch?v=cp8si5zO2m0", 13, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", false, false, false, 35, [], 98, ~U[2026-07-17 13:00:32Z], ~U[2026-10-26 19:35:51Z], ~U[2026-10-26 19:35:51Z], "So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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 Not A Web Dev...So Claude Designed A Website For Me!", "cp8si5zO2m0", 678, false, "https://www.youtube.com/watch?v=cp8si5zO2m0", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", false, 35, ~U[2026-07-17 13:00:32Z]] 14:35:51.875 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [35] 14:35:51.875 [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] 14:35:51.875 [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 [3453444] 14:35:51.875 [debug] Current batch of media processed. Will check again in 1000ms 14:35:52.876 [debug] Current batch of media processed. Will check again in 1000ms 14:35:53.877 [debug] Current batch of media processed. Will check again in 1000ms 14:35:54.878 [debug] Current batch of media processed. Will check again in 1000ms 14:35:55.879 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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" => 607, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", "id" => "cLqiG_ZfDyU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cLqiG_ZfDyU", "playlist_index" => 14, "timestamp" => 1783688428, "title" => "Shelly Is A GUI Package Manager For Arch Linux", "upload_date" => "20260710"} 14:35:55.880 [debug] QUERY OK source="sources" db=0.2ms idle=421.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:55.880 [debug] QUERY OK source="sources" db=0.1ms idle=422.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:35:55.884 [debug] QUERY OK source="media_items" db=3.5ms idle=422.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-10 13:00:28Z], 35] 14:35:55.886 [debug] QUERY OK source="media_items" db=1.1ms idle=426.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" ["Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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!", "Shelly Is A GUI Package Manager For Arch Linux", "1bed9e06-f866-4c62-8590-24c26d2e3708", "cLqiG_ZfDyU", 607, false, "https://www.youtube.com/watch?v=cLqiG_ZfDyU", 14, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", false, false, false, 35, [], 98, ~U[2026-07-10 13:00:28Z], ~U[2026-10-26 19:35:55Z], ~U[2026-10-26 19:35:55Z], "Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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!", "Shelly Is A GUI Package Manager For Arch Linux", "cLqiG_ZfDyU", 607, false, "https://www.youtube.com/watch?v=cLqiG_ZfDyU", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", false, 35, ~U[2026-07-10 13:00:28Z]] 14:35:55.886 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:35:55.887 [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] 14:35:55.887 [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 [3398403] 14:35:55.887 [debug] Current batch of media processed. Will check again in 1000ms 14:35:56.888 [debug] Current batch of media processed. Will check again in 1000ms 14:35:57.889 [debug] Current batch of media processed. Will check again in 1000ms 14:35:58.890 [debug] Current batch of media processed. Will check again in 1000ms 14:35:59.891 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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" => 776, "filename" => "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", "id" => "bBS4do3RbQY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bBS4do3RbQY", "playlist_index" => 15, "timestamp" => 1783097125, "title" => "Windows Has These Apps...Linux Doesn't!", "upload_date" => "20260703"} 14:35:59.892 [debug] QUERY OK source="sources" db=0.2ms idle=433.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:35:59.892 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [35] 14:35:59.895 [debug] QUERY OK source="media_items" db=2.9ms idle=433.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 16:45:25Z], 35] 14:35:59.896 [debug] QUERY OK source="media_items" db=0.8ms idle=437.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 use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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!", "Windows Has These Apps...Linux Doesn't!", "2e9d4769-b55c-43a1-b65d-3152fd87d359", "bBS4do3RbQY", 776, false, "https://www.youtube.com/watch?v=bBS4do3RbQY", 15, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", false, false, false, 35, [], 98, ~U[2026-07-03 16:45:25Z], ~U[2026-10-26 19:35:59Z], ~U[2026-10-26 19:35:59Z], "If you use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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!", "Windows Has These Apps...Linux Doesn't!", "bBS4do3RbQY", 776, false, "https://www.youtube.com/watch?v=bBS4do3RbQY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", false, 35, ~U[2026-07-03 16:45:25Z]] 14:35:59.897 [debug] QUERY OK source="sources" db=0.1ms idle=122.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:35:59.897 [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] 14:35:59.897 [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 [3344542] 14:35:59.897 [debug] Current batch of media processed. Will check again in 1000ms 14:36:00.310 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:36:00.805 [info] {"source":"oban","duration":7992,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:00.898 [debug] Current batch of media processed. Will check again in 1000ms 14:36:01.899 [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" => 16, "timestamp" => 1782478816, "title" => "RefreshOS Combines Debian Stability With KDE Beauty", "upload_date" => "20260626"} 14:36:01.900 [debug] QUERY OK source="sources" db=0.3ms idle=1094.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:36:01.900 [debug] QUERY OK source="sources" db=0.1ms idle=442.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:36:01.904 [debug] QUERY OK source="media_items" db=3.5ms idle=442.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] 14:36:01.907 [debug] QUERY OK source="media_items" db=2.3ms idle=446.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" ["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", "10fad481-a03e-464d-8673-455562e483f0", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", 16, "/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-10-26 19:36:01Z], ~U[2026-10-26 19:36:01Z], "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]] 14:36:01.908 [debug] QUERY OK source="sources" db=0.2ms idle=131.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:36:01.908 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 14:36:01.909 [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 [3288646] 14:36:01.909 [debug] Current batch of media processed. Will check again in 1000ms 14:36:02.909 [debug] Current batch of media processed. Will check again in 1000ms 14:36:03.910 [debug] Current batch of media processed. Will check again in 1000ms 14:36:04.911 [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" => 17, "timestamp" => 1782046833, "title" => "Install Programs From Any Linux Distro With BoxBuddy", "upload_date" => "20260621"} 14:36:04.912 [debug] QUERY OK source="sources" db=0.2ms idle=1453.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 14:36:04.913 [debug] QUERY OK source="sources" db=0.1ms idle=1454.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:36:04.916 [debug] QUERY OK source="media_items" db=3.4ms idle=1454.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] 14:36:04.919 [debug] QUERY OK source="media_items" db=2.1ms idle=1137.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" ["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", "0f9991db-9bb5-4079-abc3-7e047a3ca615", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", 17, "/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-10-26 19:36:04Z], ~U[2026-10-26 19:36:04Z], "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]] 14:36:04.919 [debug] QUERY OK source="sources" db=0.2ms idle=139.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:36:04.920 [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] 14:36:04.920 [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 [3249148] 14:36:04.920 [debug] Current batch of media processed. Will check again in 1000ms 14:36:05.921 [debug] Current batch of media processed. Will check again in 1000ms 14:36:06.922 [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" => 18, "timestamp" => 1781614828, "title" => "Is It Time To Leave Arch Linux?", "upload_date" => "20260616"} 14:36:06.923 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=464.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:36:06.923 [debug] QUERY OK source="sources" db=0.1ms idle=464.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:36:06.927 [debug] QUERY OK source="media_items" db=3.5ms idle=465.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] 14:36:06.929 [debug] QUERY OK source="media_items" db=1.7ms idle=469.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" ["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?", "e713ce14-5265-43bb-868d-2c44d6558211", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", 18, "/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-10-26 19:36:06Z], ~U[2026-10-26 19:36:06Z], "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]] 14:36:06.930 [debug] QUERY OK source="sources" db=0.2ms idle=146.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:36:06.930 [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] 14:36:06.931 [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 [3209684] 14:36:06.931 [debug] Current batch of media processed. Will check again in 1000ms 14:36:07.931 [debug] Current batch of media processed. Will check again in 1000ms 14:36:08.932 [debug] Current batch of media processed. Will check again in 1000ms 14:36:09.933 [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" => 19, "timestamp" => 1781281820, "title" => "Major Malware Incident Hits Arch AUR!", "upload_date" => "20260612"} 14:36:09.934 [debug] QUERY OK source="sources" db=0.3ms idle=1475.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [35] 14:36:09.935 [debug] QUERY OK source="sources" db=0.2ms idle=1476.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:36:09.938 [debug] QUERY OK source="media_items" db=3.5ms idle=1476.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] 14:36:09.947 [debug] QUERY OK source="media_items" db=8.3ms idle=1151.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" ["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!", "35c5c426-a9b3-43ad-9576-6af9e46ec12c", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", 19, "/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-10-26 19:36:09Z], ~U[2026-10-26 19:36:09Z], "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]] 14:36:09.948 [debug] QUERY OK source="sources" db=0.2ms idle=159.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:36:09.948 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.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] 14:36:09.948 [debug] QUERY OK source="media_items" db=0.2ms idle=13.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3178989] 14:36:09.948 [debug] Current batch of media processed. Will check again in 1000ms 14:36:10.949 [debug] Current batch of media processed. Will check again in 1000ms 14:36:11.572 [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/62/4d/624dd85095d92c9d1d89450341aeefc1bdcb59d0422b18715187ce59cc368415.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/58/58/58582523c4e6faa5c64deb30dc7f6cb7aa4797e6b18f1cd94738cac5257969fb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 14:36:11.573 [debug] Gracefully stopping file follower 14:36:11.573 [debug] QUERY OK source="sources" db=0.2ms idle=783.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:36:11.574 [debug] QUERY OK source="sources" db=0.0ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:36:11.576 [debug] QUERY OK source="media_items" db=2.7ms idle=115.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 20:15:16Z], 35] 14:36:11.578 [debug] QUERY OK source="media_items" db=0.9ms idle=118.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" ["ProtoArc recently sent me their new EM06 trackball mouse to try out. This mouse is a 55mm center ball mouse with 7 programmable buttons. Configuration is simple and done through the web browser. Works on Windows, Mac and Linux! \n\nProduct links\n- Amazon US: https://dada.link/AHN775\n- Amazon UK: https://dada.link/PTFRPt\n- Amazon DE: https://dada.link/FXDlKn\n- Official Site: https://dada.link/a0Uruo\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!", "The Brilliantly Designed ProtoArc EM06 Trackball Mouse", "651be44a-b4b0-4bb6-9148-485924f07f66", "EUbWgy5MZOw", 1314, false, "https://www.youtube.com/watch?v=EUbWgy5MZOw", 1, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e102400_The Brilliantly Designed ProtoArc EM06 Trackball Mouse.mp4", false, false, false, 35, [], 98, ~U[2026-10-24 20:15:16Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "ProtoArc recently sent me their new EM06 trackball mouse to try out. This mouse is a 55mm center ball mouse with 7 programmable buttons. Configuration is simple and done through the web browser. Works on Windows, Mac and Linux! \n\nProduct links\n- Amazon US: https://dada.link/AHN775\n- Amazon UK: https://dada.link/PTFRPt\n- Amazon DE: https://dada.link/FXDlKn\n- Official Site: https://dada.link/a0Uruo\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!", "The Brilliantly Designed ProtoArc EM06 Trackball Mouse", "EUbWgy5MZOw", 1314, false, "https://www.youtube.com/watch?v=EUbWgy5MZOw", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e102400_The Brilliantly Designed ProtoArc EM06 Trackball Mouse.mp4", false, 35, ~U[2026-10-24 20:15:16Z]] 14:36:11.578 [debug] QUERY OK source="sources" db=0.1ms idle=119.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:36:11.581 [debug] QUERY OK source="media_items" db=2.7ms 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-10-18 15:00:06Z], 35] 14:36:11.582 [debug] QUERY OK source="media_items" db=0.9ms idle=7.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" ["FunOS is a GNU/Linux distribution based on Ubuntu LTS. It uses the JWM window manager, comes without Snap, and includes the latest Ubuntu HWE kernel. Perfect for users who want a fast and minimal Linux experience without sacrificing stability.\n\nREFERENCED:\n► https://funos.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!", "An Installation and First Look at FunOS", "b48498f0-6d18-47bc-a539-73c416713eaa", "sUUKNgzF-pQ", 1267, false, "https://www.youtube.com/watch?v=sUUKNgzF-pQ", 2, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101800_An Installation and First Look at FunOS.mp4", false, false, false, 35, [], 98, ~U[2026-10-18 15:00:06Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "FunOS is a GNU/Linux distribution based on Ubuntu LTS. It uses the JWM window manager, comes without Snap, and includes the latest Ubuntu HWE kernel. Perfect for users who want a fast and minimal Linux experience without sacrificing stability.\n\nREFERENCED:\n► https://funos.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!", "An Installation and First Look at FunOS", "sUUKNgzF-pQ", 1267, false, "https://www.youtube.com/watch?v=sUUKNgzF-pQ", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101800_An Installation and First Look at FunOS.mp4", false, 35, ~U[2026-10-18 15:00:06Z]] 14:36:11.583 [debug] QUERY OK source="sources" db=0.4ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:36:11.586 [debug] QUERY OK source="media_items" db=2.7ms 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-10-11 18:45:31Z], 35] 14:36:11.587 [debug] QUERY OK source="media_items" db=0.9ms idle=7.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" ["Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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. Bots Have Taken Over Our Lives", "c1535eaa-e3d3-4977-aabd-c7159bbb1b7a", "i16PHb8EagE", 621, false, "https://www.youtube.com/watch?v=i16PHb8EagE", 3, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", false, false, false, 35, [], 98, ~U[2026-10-11 18:45:31Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "Way too many people think the hyper-political rhetoric filling up space on the Internet is \"real\" posts from \"real\" people. It's not...and you're getting played!\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. Bots Have Taken Over Our Lives", "i16PHb8EagE", 621, false, "https://www.youtube.com/watch?v=i16PHb8EagE", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e101100_A.I. Bots Have Taken Over Our Lives.mp4", false, 35, ~U[2026-10-11 18:45:31Z]] 14:36:11.587 [debug] QUERY OK source="sources" db=0.4ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:36:11.590 [debug] QUERY OK source="media_items" db=2.5ms 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-10-04 13:00:26Z], 35] 14:36:11.591 [debug] QUERY OK source="media_items" db=0.7ms idle=7.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 think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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 Distros Should Stop Worrying About Their Desktops", "580dc7df-5e8c-499e-b374-66b58094b0e0", "q7kF6Jb2a8w", 475, false, "https://www.youtube.com/watch?v=q7kF6Jb2a8w", 4, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", false, false, false, 35, [], 98, ~U[2026-10-04 13:00:26Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "I think most Linux distros are making a big mistake focusing so much time customizing their desktops.\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 Distros Should Stop Worrying About Their Desktops", "q7kF6Jb2a8w", 475, false, "https://www.youtube.com/watch?v=q7kF6Jb2a8w", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e100400_Linux Distros Should Stop Worrying About Their Desktops.mp4", false, 35, ~U[2026-10-04 13:00:26Z]] 14:36:11.592 [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] 14:36:11.594 [debug] QUERY OK source="media_items" db=2.5ms 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-09-26 15:00:25Z], 35] 14:36:11.596 [debug] QUERY OK source="media_items" db=0.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" ["On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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!", "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "699ecc47-11fd-496f-8181-5a3571579b13", "czYbW2UKRdE", 1699, false, "https://www.youtube.com/watch?v=czYbW2UKRdE", 5, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", false, false, false, 35, [], 98, ~U[2026-09-26 15:00:25Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "On this edition of HEY DT:\n\n0:00 Intro\n0:22 You complain we are too political but FOSS is inherently political.\n4:21 What do you think about the presence of LLMs in linux distributions?\n6:44 What do you think about the use case for Slackware?\n9:09 You're Arch install video sucks...I’ve wasted my time!\n11:07 You should use a latest iPhone to record your videos. \n11:58 You keep using the pronoun \"He\" when talking about Claude. \n13:35 Clearly you didn't innerstand as a \"content creator\" you are also now completely irreverent.\n15:24 I'm curious in how maintaining two YT channels is going and how they differ from each other. \n18:01 You mention that the Linux community is full of a-holes. Why?\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!", "Hey, DT! Stop Calling Claude \"He\"...He's Not A Person!", "czYbW2UKRdE", 1699, false, "https://www.youtube.com/watch?v=czYbW2UKRdE", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e092600_Hey, DT! Stop Calling Claude "He"...He's Not A Person!.mp4", false, 35, ~U[2026-09-26 15:00:25Z]] 14:36:11.596 [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] 14:36:11.599 [debug] QUERY OK source="media_items" db=2.5ms 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-09-19 16:00:06Z], 35] 14:36:11.600 [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" ["Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "Vidman - A Program To View Video Man Pages", "611f71f6-348d-434d-bdef-03c0da4edc60", "3RfulXEEEN4", 1093, false, "https://www.youtube.com/watch?v=3RfulXEEEN4", 6, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", false, false, false, 35, [], 98, ~U[2026-09-19 16:00:06Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "Introducing the 'vidman' program which allows to view my \"Video Man Pages' as well as read the documentation from the videos. \n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "Vidman - A Program To View Video Man Pages", "3RfulXEEEN4", 1093, false, "https://www.youtube.com/watch?v=3RfulXEEEN4", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091900_Vidman - A Program To View Video Man Pages.mp4", false, 35, ~U[2026-09-19 16:00:06Z]] 14:36:11.601 [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] 14:36:11.603 [debug] QUERY OK source="media_items" db=2.5ms 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-09-12 14:15:19Z], 35] 14:36:11.605 [debug] QUERY OK source="media_items" db=0.9ms 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" ["The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "'nl' - number lines of files - Video Man Pages", "4c0dac5d-0334-4eba-bb43-6d1a89c6599b", "2SyiQrsPyu8", 367, false, "https://www.youtube.com/watch?v=2SyiQrsPyu8", 7, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", false, false, false, 35, [], 98, ~U[2026-09-12 14:15:19Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "The 'nl' command adds line numbers to files or to terminal output.\n\n+ Number non-blank lines in a file:\n nl path/to/file\n\n+ Number non-blank lines in ouptut from stdin:\n command | nl\n ex: seq 10 | nl\n\n+ Number [a]ll [b]ody lines including blank lines or do [n]ot number body lines:\n nl -b a path/to/file\n\n+ Do [n]ot number [b]ody lines (essentially this suppresses the line numbers):\n nl -b n path/to/file\n\n NOTE The above command is not that different than 'cat' or 'less' except that 'nl -b n' does reserve space for where the line numbers would have been.\n\n+ Number only the lines matching a basic regex [p]attern:\n nl -b p'FooBar[0-9]' path/to/file\n \n -OR-\n nl -b p'^#' .bashrc\n\n+ Use a specific [i]ncrement for line numbering:\n nl -i NUMBER path/to/file\n\n+ Specify the line numbering width (default = 6):\n nl -w NUMBER path/to/file\n\n+ Specify [n]umber-format as [r]ight justified with leading [z]eroes:\n nl -n rz path/to/file\n \n+ Specify [n]umber-format as [r]ight justified with [n]o leading zeroes:\n nl -n rn path/to/file\n\n+ Specify [n]umber-format as [l]eft justified with [n]o leading zeroes:\n nl -n ln path/to/file\n\n+ Use a specific string to separate line numbers from the lines (default = TAB):\n nl -s ' | ' path/to/file\n\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman\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!", "'nl' - number lines of files - Video Man Pages", "2SyiQrsPyu8", 367, false, "https://www.youtube.com/watch?v=2SyiQrsPyu8", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e091200_'nl' - number lines of files - Video Man Pages.mp4", false, 35, ~U[2026-09-12 14:15:19Z]] 14:36:11.605 [debug] QUERY OK source="sources" db=0.4ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:36:11.608 [debug] QUERY OK source="media_items" db=2.5ms idle=5.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-05 17:00:03Z], 35] 14:36:11.609 [debug] QUERY OK source="media_items" db=0.7ms idle=7.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" ["Politics infects everything...including Linux. Don't let this happen!\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!", "Don't Let Linux Become Like This!", "3b882281-3a82-4a5d-9746-7c631ddde106", "DvI93IJvNSQ", 127, false, "https://www.youtube.com/watch?v=DvI93IJvNSQ", 8, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", false, false, false, 35, [], 98, ~U[2026-09-05 17:00:03Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "Politics infects everything...including Linux. Don't let this happen!\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!", "Don't Let Linux Become Like This!", "DvI93IJvNSQ", 127, false, "https://www.youtube.com/watch?v=DvI93IJvNSQ", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e090500_Don't Let Linux Become Like This!.mp4", false, 35, ~U[2026-09-05 17:00:03Z]] 14:36:11.609 [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] 14:36:11.612 [debug] QUERY OK source="media_items" db=2.5ms 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-08-29 17:37:21Z], 35] 14:36:11.613 [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" ["The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'yes' - output a string repeatedly - Video Man Pages", "4f2026d2-b6d9-4492-a471-312578c05173", "Jg3Hal7vPUo", 339, false, "https://www.youtube.com/watch?v=Jg3Hal7vPUo", 9, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", false, false, false, 35, [], 97, ~U[2026-08-29 17:37:21Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "The 'yes' command outputs a string repeatedly until killed.\n \n+ Output 'y' repeatedly until killed (Ctrl-C to kill):\n yes\n\n+ Output a specified string repeatedly:\n yes string\n\n+ Accept every 'y/n' question that is prompted by a command:\n yes | sudo pacman -Syu\n\n -OR-\n\n yes | rm -i file1 file2 file3\n\n NOTE Blindly answsering 'y' to every prompt could be dangerous so use with caution.\n\n+ Output a newline repeatedly, which is useful to automate installations or scripts that repeatedly ask for \"ENTER\":\n yes ''\n\nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'yes' - output a string repeatedly - Video Man Pages", "Jg3Hal7vPUo", 339, false, "https://www.youtube.com/watch?v=Jg3Hal7vPUo", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'yes' - output a string repeatedly - Video Man Pages.mp4", false, 35, ~U[2026-08-29 17:37:21Z]] 14:36:11.614 [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] 14:36:11.617 [debug] QUERY OK source="media_items" db=2.6ms 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-08-29 17:37:07Z], 35] 14:36:11.618 [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" ["The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'basename' - strip directory from filenames - Video Man Pages", "652a647a-dda5-4023-ab1a-a9e692e133b4", "-8zN6rhA4hU", 139, false, "https://www.youtube.com/watch?v=-8zN6rhA4hU", 10, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", false, false, false, 35, [], 97, ~U[2026-08-29 17:37:07Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "The 'basename' command strips directories and suffixes from filenames.\n\n+ Print only the file name from a path:\n basename path/to/file\n\n+ Print only the final directory name from a path:\n basename path/to/directory\n\n+ Print only the file name from a path without the its suffix:\n basename path/to/file suffix\n \nREFERENCED:\n► https://gitlab.com/dwt1/vidman - Video Man Pages\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!", "'basename' - strip directory from filenames - Video Man Pages", "-8zN6rhA4hU", 139, false, "https://www.youtube.com/watch?v=-8zN6rhA4hU", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e082900_'basename' - strip directory from filenames - Video Man Pages.mp4", false, 35, ~U[2026-08-29 17:37:07Z]] 14:36:11.618 [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] 14:36:11.622 [debug] QUERY OK source="media_items" db=3.0ms 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-08-01 13:00:25Z], 35] 14:36:11.623 [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" ["Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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!", "The Age Of Beginner Friendly Distros Is Over", "6b72ee72-7279-40fe-b544-be1a069c22c6", "A6XI_0DWQOw", 541, false, "https://www.youtube.com/watch?v=A6XI_0DWQOw", 11, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", false, false, false, 35, [], 98, ~U[2026-08-01 13:00:25Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "Years ago, a Linux distro claiming to be \"beginner friendly\" was a big deal. Nowadays...not so much.\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!", "The Age Of Beginner Friendly Distros Is Over", "A6XI_0DWQOw", 541, false, "https://www.youtube.com/watch?v=A6XI_0DWQOw", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e080100_The Age Of Beginner Friendly Distros Is Over.mp4", false, 35, ~U[2026-08-01 13:00:25Z]] 14:36:11.624 [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" = ?) [35] 14:36:11.627 [debug] QUERY OK source="media_items" db=2.7ms 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-07-24 13:00:25Z], 35] 14:36:11.643 [debug] QUERY OK source="media_items" db=16.1ms 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" ["Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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!", "The Mousam Weather App For Linux", "055a3c8e-f972-4b17-8c8e-e7a6df85be9b", "-IQ75MwPS0M", 534, false, "https://www.youtube.com/watch?v=-IQ75MwPS0M", 12, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", false, false, false, 35, [], 98, ~U[2026-07-24 13:00:25Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "Mousam is a weather app for Linux. It displays real-time temperature, humidity, wind speed, UV index, pressure along with weather and AQI forecasts.\n\nREFERENCED:\n► https://amit9838.github.io/mousam/\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!", "The Mousam Weather App For Linux", "-IQ75MwPS0M", 534, false, "https://www.youtube.com/watch?v=-IQ75MwPS0M", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e072400_The Mousam Weather App For Linux.mp4", false, 35, ~U[2026-07-24 13:00:25Z]] 14:36:11.644 [debug] QUERY OK source="sources" db=0.6ms idle=21.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:36:11.647 [debug] QUERY OK source="media_items" db=2.7ms idle=21.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-17 13:00:32Z], 35] 14:36:11.652 [debug] QUERY OK source="media_items" db=4.3ms idle=24.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" ["So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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 Not A Web Dev...So Claude Designed A Website For Me!", "ff08067a-d746-47d9-993a-4f99bbf8b6f0", "cp8si5zO2m0", 678, false, "https://www.youtube.com/watch?v=cp8si5zO2m0", 13, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", false, false, false, 35, [], 98, ~U[2026-07-17 13:00:32Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "So I wanted to create a website but there's a problem. I'm not a web dev. Well...that's not really a problem if I ask my old friend Claude to help.\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 Not A Web Dev...So Claude Designed A Website For Me!", "cp8si5zO2m0", 678, false, "https://www.youtube.com/watch?v=cp8si5zO2m0", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071700_I'm Not A Web Dev...So Claude Designed A Website For Me!.mp4", false, 35, ~U[2026-07-17 13:00:32Z]] 14:36:11.653 [debug] QUERY OK source="sources" db=0.4ms idle=25.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:36:11.656 [debug] QUERY OK source="media_items" db=2.7ms 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-07-10 13:00:28Z], 35] 14:36:11.657 [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" ["Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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!", "Shelly Is A GUI Package Manager For Arch Linux", "140a7eaf-ce79-43a0-92b1-55a77221f74c", "cLqiG_ZfDyU", 607, false, "https://www.youtube.com/watch?v=cLqiG_ZfDyU", 14, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", false, false, false, 35, [], 98, ~U[2026-07-10 13:00:28Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "Shelly is a graphical package manager (software center) that has support for standard Arch packages, AUR packages, flatpaks and appimages.\n\nREFERENCED:\n► https://www.seafoam-labs.org/shelly-alpm\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!", "Shelly Is A GUI Package Manager For Arch Linux", "cLqiG_ZfDyU", 607, false, "https://www.youtube.com/watch?v=cLqiG_ZfDyU", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e071000_Shelly Is A GUI Package Manager For Arch Linux.mp4", false, 35, ~U[2026-07-10 13:00:28Z]] 14:36:11.658 [debug] QUERY OK source="sources" db=0.4ms idle=9.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [35] 14:36:11.660 [debug] QUERY OK source="media_items" db=2.5ms 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-07-03 16:45:25Z], 35] 14:36:11.661 [debug] QUERY OK source="media_items" db=0.7ms 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 use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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!", "Windows Has These Apps...Linux Doesn't!", "342ed216-747d-405d-82f4-cfc7d9839ea0", "bBS4do3RbQY", 776, false, "https://www.youtube.com/watch?v=bBS4do3RbQY", 15, "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", false, false, false, 35, [], 98, ~U[2026-07-03 16:45:25Z], ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "If you use these apps, you might be stuck using Windows because Linux can't run these apps nor are there any good Linux alternatives.\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!", "Windows Has These Apps...Linux Doesn't!", "bBS4do3RbQY", 776, false, "https://www.youtube.com/watch?v=bBS4do3RbQY", "/downloads/chris/tubes/DistroTube_[UCVls1GmFKf6WlTraIb_IaJg]/Season 2026/s2026e070300_Windows Has These Apps...Linux Doesn't!.mp4", false, 35, ~U[2026-07-03 16:45:25Z]] 14:36:11.662 [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] 14:36:11.665 [debug] QUERY OK source="media_items" db=2.6ms idle=5.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-26 13:00:16Z], 35] 14:36:11.668 [debug] QUERY OK source="media_items" db=2.6ms 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" ["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", "15410002-9a15-40e5-bcbf-38d1170fc942", "YzdDDY5JEBA", 1316, false, "https://www.youtube.com/watch?v=YzdDDY5JEBA", 16, "/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-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "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]] 14:36:11.668 [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] 14:36:11.671 [debug] QUERY OK source="media_items" db=2.5ms 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-21 13:00:33Z], 35] 14:36:11.672 [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", "5dab8add-b01f-4007-b45e-0a4fe145efbf", "tFINFcTJ2BA", 915, false, "https://www.youtube.com/watch?v=tFINFcTJ2BA", 17, "/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-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "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]] 14:36:11.672 [debug] QUERY OK source="sources" db=0.4ms 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] 14:36:11.675 [debug] QUERY OK source="media_items" db=2.6ms 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] 14:36:11.676 [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" ["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?", "1ffcdcba-ae65-4397-b5a6-94550257f9f7", "pFkGmcpQmTI", 722, false, "https://www.youtube.com/watch?v=pFkGmcpQmTI", 18, "/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-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "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]] 14:36:11.677 [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] 14:36:11.679 [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-12 16:30:20Z], 35] 14:36:11.681 [debug] QUERY OK source="media_items" db=0.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" ["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!", "f70e5989-8c1a-4c20-8aff-67100d7cad7f", "gxC_QPqsZh0", 362, false, "https://www.youtube.com/watch?v=gxC_QPqsZh0", 19, "/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-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "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]] 14:36:11.681 [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] 14:36:11.684 [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-08 13:00:33Z], 35] 14:36:11.685 [debug] QUERY OK source="media_items" db=1.1ms 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" ["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!)", "7b3e2e6b-5fe7-43d7-950a-46cf81d915ac", "LuvxUKBXkqA", 826, false, "https://www.youtube.com/watch?v=LuvxUKBXkqA", 20, "/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-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], "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]] 14:36:11.686 [debug] QUERY OK source="sources" db=0.4ms idle=5.9ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z], 35] 14:36:11.689 [debug] QUERY OK source="media_items" db=2.7ms idle=5.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")))) [35] 14:36:11.692 [debug] QUERY OK source="media_items" db=2.6ms idle=7.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [35] 14:36:11.692 [debug] QUERY OK source="media_items" db=0.5ms idle=7.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [35] 14:36:11.694 [debug] QUERY OK source="tasks" db=0.6ms idle=4.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541644, 35, ~U[2026-10-26 19:36:11Z], ~U[2026-10-26 19:36:11Z]] 14:36:11.695 [info] {"args":{"id":35},"id":541535,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":70990394,"event":"job:stop","queue_time":400110,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:36:14.803 [info] {"args":{"id":3647632},"id":541622,"meta":{},"system_time":1793043374803426372,"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"]} 14:36:14.803 [debug] QUERY OK source="media_items" db=0.2ms idle=1344.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" = ?) [3647632] 14:36:14.804 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:36:14.804 [debug] QUERY OK source="sources" db=0.2ms idle=1345.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:36:14.804 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:36:14.805 [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 [3647632] 14:36:14.806 [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" = ?) [3647632] 14:36:14.806 [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] 14:36:14.807 [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 [] 14:36:14.807 [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 [] 14:36:14.807 [debug] Running yt-dlp command for action: get_downloadable_status 14:36:14.808 [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 [] 14:36:14.809 [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 [] 14:36:14.809 [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 [] 14:36:14.809 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/f4/3af4f1b238f881c37fc2a1f472f912da6142b2820f0c2469d1f844320f72b72e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:36:16.799 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/f4/3af4f1b238f881c37fc2a1f472f912da6142b2820f0c2469d1f844320f72b72e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:36:16.800 [error] yt-dlp download error for media item #3647632: "ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:36:16.800 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3647632},"id":541622,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1996774,"event":"job:exception","queue_time":582987,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:36:30.814 [info] {"source":"oban","duration":7551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.311 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:37:00.820 [info] {"source":"oban","duration":6213,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:30.831 [info] {"source":"oban","duration":9795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:38:00.312 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:38:00.840 [info] {"source":"oban","duration":9084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:30.849 [info] {"source":"oban","duration":7936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.313 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:39:00.856 [info] {"source":"oban","duration":5710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:30.863 [info] {"source":"oban","duration":6464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:40:00.314 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:40:00.872 [info] {"source":"oban","duration":9430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:25.600 [info] GET /sitemap.xml 14:40:25.600 [debug] QUERY OK source="settings" db=0.1ms idle=1142.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:25.601 [debug] QUERY OK source="settings" db=0.1ms idle=1142.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:25.601 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:40:25.601 [error] #PID<0.255370.0> running PinchflatWeb.Endpoint (connection #PID<0.255369.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.255369.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 38418}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.255370.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.217.174"}, {"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", "GOIrrXKwZxzSDKsAf4dC"} ], 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.255369.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 38418}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.255369.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 38418}, bindings: %{}, sock: {{172, 20, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.255370.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.217.174"}, {"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", "GOIrrXKwZxzSDKsAf4dC"} ], (truncated) 14:40:30.881 [info] {"source":"oban","duration":7416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:41:00.316 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:41:00.888 [info] {"source":"oban","duration":7129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:05.796 [info] GET /sources/32/media/1227399 14:41:05.796 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1227399", "source_id" => "32"} Pipelines: [:browser] 14:41:05.796 [debug] QUERY OK source="media_items" db=0.1ms idle=1337.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" = ?) [1227399] 14:41:05.797 [debug] QUERY OK source="sources" db=0.1ms idle=1338.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:41:05.797 [debug] QUERY OK source="tasks" db=0.9ms idle=1338.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" [1227399] 14:41:05.798 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=655.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 (?,?,?)) [483816, 501205, 523731] 14:41:05.798 [debug] QUERY OK source="settings" db=0.0ms idle=339.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:05.798 [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 [] 14:41:05.799 [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 [] 14:41:05.799 [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] 14:41:05.800 [info] Sent 200 in 4ms 14:41:09.574 [info] GET /sources/32/media/1227397/edit 14:41:09.574 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "1227397", "source_id" => "32"} Pipelines: [:browser] 14:41:09.575 [debug] QUERY OK source="media_items" db=0.1ms idle=427.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" = ?) [1227397] 14:41:09.575 [debug] QUERY OK source="settings" db=0.1ms idle=116.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:09.575 [debug] QUERY OK source="settings" db=0.0ms idle=116.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:09.576 [debug] QUERY OK source="settings" db=0.0ms idle=117.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:09.577 [info] Sent 200 in 2ms 14:41:14.557 [info] GET /sources/43/media/3712433 14:41:14.557 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3712433", "source_id" => "43"} Pipelines: [:browser] 14:41:14.558 [debug] QUERY OK source="media_items" db=0.2ms 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" = ?) [3712433] 14:41:14.558 [debug] QUERY OK source="tasks" db=0.2ms idle=1099.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" [3712433] 14:41:14.559 [debug] QUERY OK source="sources" db=0.2ms idle=1099.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:41:14.559 [debug] QUERY OK source="settings" db=0.1ms 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 [] 14:41:14.559 [debug] QUERY OK source="settings" db=0.0ms idle=405.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:14.559 [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 [] 14:41:14.560 [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] 14:41:14.561 [info] Sent 200 in 3ms 14:41:19.558 [info] GET /sources/32/media/3748502 14:41:19.558 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3748502", "source_id" => "32"} Pipelines: [:browser] 14:41:19.558 [debug] QUERY OK source="media_items" db=0.2ms idle=1099.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" = ?) [3748502] 14:41:19.559 [debug] QUERY OK source="tasks" db=0.1ms idle=1100.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" [3748502] 14:41:19.559 [debug] QUERY OK source="sources" db=0.2ms idle=1100.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:41:19.559 [debug] QUERY OK source="settings" db=0.0ms idle=1101.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:19.560 [debug] QUERY OK source="settings" db=0.1ms idle=400.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:19.560 [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 [] 14:41:19.561 [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] 14:41:19.562 [info] Sent 200 in 4ms 14:41:30.894 [info] {"source":"oban","duration":4691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.316 [info] {"source":"oban","duration":151,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:42:00.904 [info] {"source":"oban","duration":9459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:30.914 [info] {"source":"oban","duration":9810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:52.281 [info] {"args":{"id":52},"id":541641,"meta":{},"system_time":1793043772281002847,"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"]} 14:42:52.282 [debug] QUERY OK source="sources" db=0.7ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:42:52.283 [debug] QUERY OK source="settings" db=0.7ms idle=823.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:52.283 [debug] QUERY OK source="media_profiles" db=0.7ms idle=824.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:42:52.284 [debug] QUERY OK source="settings" db=0.2ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:52.284 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 14:42:52.563 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 14:42:52.564 [debug] QUERY OK source="media_items" db=0.5ms idle=282.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, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 14:42:52.566 [debug] QUERY OK source="media_items" db=1.0ms idle=282.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] 14:42:52.570 [debug] QUERY OK source="tasks" db=0.3ms idle=285.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541645, 1301334, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.574 [debug] QUERY OK source="tasks" db=0.5ms idle=4.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541646, 1301335, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.577 [info] {"args":{"id":1301334},"id":541645,"meta":{},"system_time":1793043772577333471,"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"]} 14:42:52.577 [info] {"args":{"id":1301335},"id":541646,"meta":{},"system_time":1793043772577427344,"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"]} 14:42:52.578 [debug] QUERY OK source="media_items" db=0.5ms idle=3.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 14:42:52.578 [debug] QUERY OK source="media_items" db=0.8ms 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 WHERE (m0."id" = ?) [1301334] 14:42:52.578 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:42:52.578 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:42:52.579 [debug] QUERY OK source="sources" db=0.4ms 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] 14:42:52.579 [debug] QUERY OK source="sources" db=0.4ms idle=1.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:42:52.579 [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] 14:42:52.579 [debug] QUERY OK source="media_profiles" db=0.4ms idle=0.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:42:52.580 [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] 14:42:52.580 [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 [1301334] 14:42:52.580 [debug] QUERY OK source="tasks" db=0.1ms idle=0.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541647, 1301347, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.582 [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] 14:42:52.582 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 14:42:52.582 [debug] QUERY OK source="media_metadata" db=0.1ms 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] 14:42:52.582 [debug] QUERY OK source="settings" db=0.2ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:52.582 [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] 14:42:52.583 [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 [] 14:42:52.583 [debug] Running yt-dlp command for action: get_downloadable_status 14:42:52.583 [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 [] 14:42:52.583 [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 [] 14:42:52.584 [debug] Running yt-dlp command for action: get_downloadable_status 14:42:52.584 [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 [] 14:42:52.584 [debug] QUERY OK source="tasks" db=0.2ms idle=1.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541648, 1301392, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.584 [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 [] 14:42:52.585 [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 [] 14:42:52.585 [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/d9/c3/d9c3fb0dc3fe7f89791043fc24aa82b3bb3035071d92636bef806d4dc8076347.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:52.586 [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 [] 14:42:52.586 [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 [] 14:42:52.586 [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 [] 14:42:52.586 [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/0a/54/0a54ad04dbd5e7722f9209630b8777e10d17861a6055cced624d574fb7eaea28.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:52.587 [debug] QUERY OK source="tasks" db=0.1ms idle=1.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541649, 1301393, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.590 [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" [541650, 1301394, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.593 [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" [541651, 1301395, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.597 [debug] QUERY OK source="tasks" db=0.6ms idle=3.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541652, 1301397, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.599 [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" [541653, 1301398, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.602 [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" [541654, 1301399, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.605 [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" [541655, 1301400, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.608 [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" [541656, 2720968, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.610 [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" [541657, 3440530, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.613 [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" [541658, 3675707, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.614 [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" [541659, 52, ~U[2026-10-26 19:42:52Z], ~U[2026-10-26 19:42:52Z]] 14:42:52.614 [info] {"args":{"id":52},"id":541641,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":333440,"event":"job:stop","queue_time":254768,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:42:54.422 [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/0a/54/0a54ad04dbd5e7722f9209630b8777e10d17861a6055cced624d574fb7eaea28.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. 14:42:54.422 [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" 14:42:54.422 [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" 14:42:54.423 [info] {"args":{"id":1301334},"id":541645,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1845330,"event":"job:stop","queue_time":575525,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:42:54.429 [info] {"args":{"id":1301347},"id":541647,"meta":{},"system_time":1793043774429138115,"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"]} 14:42:54.429 [debug] QUERY OK source="media_items" db=0.1ms idle=1808.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" = ?) [1301347] 14:42:54.429 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:42:54.429 [debug] QUERY OK source="sources" db=0.1ms idle=1154.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:42:54.430 [debug] QUERY OK source="media_profiles" db=0.1ms idle=153.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] 14:42:54.430 [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 [1301347] 14:42:54.431 [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" = ?) [1301347] 14:42:54.431 [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] 14:42:54.431 [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 [] 14:42:54.432 [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 [] 14:42:54.432 [debug] Running yt-dlp command for action: get_downloadable_status 14:42:54.433 [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 [] 14:42:54.433 [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 [] 14:42:54.433 [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 [] 14:42:54.434 [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/bc/6d/bc6d8d875148ba287fd3871964ac6c604dbec22c9411bb2d7c1ca2a36eb5da43.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:54.852 [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/d9/c3/d9c3fb0dc3fe7f89791043fc24aa82b3bb3035071d92636bef806d4dc8076347.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. 14:42:54.853 [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" 14:42:54.853 [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" 14:42:54.853 [info] {"args":{"id":1301335},"id":541646,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2275782,"event":"job:stop","queue_time":575525,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:42:54.860 [info] {"args":{"id":1301392},"id":541648,"meta":{},"system_time":1793043774860054458,"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"]} 14:42:54.860 [debug] QUERY OK source="media_items" db=0.1ms idle=426.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] 14:42:54.860 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:42:54.860 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:42:54.861 [debug] QUERY OK source="media_profiles" db=0.1ms idle=426.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] 14:42:54.861 [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 [1301392] 14:42:54.863 [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" = ?) [1301392] 14:42:54.863 [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] 14:42:54.863 [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 [] 14:42:54.863 [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 [] 14:42:54.863 [debug] Running yt-dlp command for action: get_downloadable_status 14:42:54.864 [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 [] 14:42:54.864 [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 [] 14:42:54.864 [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 [] 14:42:54.864 [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/ac/82/ac82712b63f12afd019313e3d643ed03bcfe8f9dcb062423a1c253bc8de0d1bc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:56.395 [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/bc/6d/bc6d8d875148ba287fd3871964ac6c604dbec22c9411bb2d7c1ca2a36eb5da43.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. 14:42:56.395 [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" 14:42:56.395 [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" 14:42:56.396 [info] {"args":{"id":1301347},"id":541647,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1966844,"event":"job:stop","queue_time":2428557,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:42:56.403 [info] {"args":{"id":1301393},"id":541649,"meta":{},"system_time":1793043776403228499,"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"]} 14:42:56.403 [debug] QUERY OK source="media_items" db=0.2ms idle=1538.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" = ?) [1301393] 14:42:56.403 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:42:56.404 [debug] QUERY OK source="sources" db=0.1ms idle=1125.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:42:56.404 [debug] QUERY OK source="media_profiles" db=0.1ms idle=124.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:42:56.404 [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 [1301393] 14:42:56.406 [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] 14:42:56.406 [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] 14:42:56.406 [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 [] 14:42:56.406 [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 [] 14:42:56.407 [debug] Running yt-dlp command for action: get_downloadable_status 14:42:56.408 [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 [] 14:42:56.408 [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 [] 14:42:56.408 [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 [] 14:42:56.408 [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/bd/4b/bd4b3be410bab918a44a96448b3946c1236e98f440ba9c04b3956f1358288b16.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:56.735 [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/ac/82/ac82712b63f12afd019313e3d643ed03bcfe8f9dcb062423a1c253bc8de0d1bc.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. 14:42:56.735 [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" 14:42:56.735 [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" 14:42:56.735 [info] {"args":{"id":1301392},"id":541648,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1875362,"event":"job:stop","queue_time":2859556,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:42:56.742 [info] {"args":{"id":1301394},"id":541650,"meta":{},"system_time":1793043776742080740,"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"]} 14:42:56.742 [debug] QUERY OK source="media_items" db=0.1ms idle=333.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] 14:42:56.742 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:42:56.742 [debug] QUERY OK source="sources" db=0.1ms idle=334.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:42:56.743 [debug] QUERY OK source="media_profiles" db=0.1ms idle=334.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:42:56.743 [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] 14:42:56.745 [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" = ?) [1301394] 14:42:56.745 [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] 14:42:56.745 [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 [] 14:42:56.746 [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 [] 14:42:56.746 [debug] Running yt-dlp command for action: get_downloadable_status 14:42:56.747 [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 [] 14:42:56.747 [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 [] 14:42:56.748 [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 [] 14:42:56.748 [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/73/9c/739ce8f88ac71dc701c0eb093d188707a4e82c33e4f8e1091af48b53cfb5cd58.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:58.102 [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/bd/4b/bd4b3be410bab918a44a96448b3946c1236e98f440ba9c04b3956f1358288b16.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. 14:42:58.102 [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" 14:42:58.102 [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" 14:42:58.102 [info] {"args":{"id":1301393},"id":541649,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1699112,"event":"job:stop","queue_time":4402521,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:42:58.109 [info] {"args":{"id":1301395},"id":541651,"meta":{},"system_time":1793043778109358016,"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"]} 14:42:58.109 [debug] QUERY OK source="media_items" db=0.1ms 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."id" = ?) [1301395] 14:42:58.109 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:42:58.110 [debug] QUERY OK source="sources" db=0.1ms idle=1361.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:42:58.110 [debug] QUERY OK source="media_profiles" db=0.1ms idle=828.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] 14:42:58.110 [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] 14:42:58.112 [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] 14:42:58.112 [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] 14:42:58.112 [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 [] 14:42:58.112 [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 [] 14:42:58.112 [debug] Running yt-dlp command for action: get_downloadable_status 14:42:58.113 [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 [] 14:42:58.113 [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 [] 14:42:58.114 [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 [] 14:42:58.114 [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/25/9b/259b7e17e74906323f482acc9022fbedc8c92a4cd7dd5dd35e583acff388c5fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:58.570 [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/73/9c/739ce8f88ac71dc701c0eb093d188707a4e82c33e4f8e1091af48b53cfb5cd58.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. 14:42:58.570 [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" 14:42:58.570 [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" 14:42:58.571 [info] {"args":{"id":1301394},"id":541650,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1828792,"event":"job:stop","queue_time":4741558,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:42:58.577 [info] {"args":{"id":1301397},"id":541652,"meta":{},"system_time":1793043778577147938,"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"]} 14:42:58.577 [debug] QUERY OK source="media_items" db=0.1ms idle=463.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] 14:42:58.577 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:42:58.577 [debug] QUERY OK source="sources" db=0.1ms idle=463.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:42:58.578 [debug] QUERY OK source="media_profiles" db=0.1ms idle=295.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] 14:42:58.578 [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] 14:42:58.580 [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" = ?) [1301397] 14:42:58.580 [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] 14:42:58.580 [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 [] 14:42:58.581 [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 [] 14:42:58.581 [debug] Running yt-dlp command for action: get_downloadable_status 14:42:58.582 [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 [] 14:42:58.582 [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 [] 14:42:58.582 [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 [] 14:42:58.583 [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/81/cc/81ccdf21889bf2cd8b58436699979f8330c3df51a99e51ca73af6acb9d3021db.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:59.949 [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/25/9b/259b7e17e74906323f482acc9022fbedc8c92a4cd7dd5dd35e583acff388c5fe.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. 14:42:59.949 [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" 14:42:59.949 [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" 14:42:59.950 [info] {"args":{"id":1301395},"id":541651,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1840468,"event":"job:stop","queue_time":6108560,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:42:59.956 [info] {"args":{"id":1301398},"id":541653,"meta":{},"system_time":1793043779956464939,"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"]} 14:42:59.957 [debug] QUERY OK source="media_items" db=0.2ms idle=1373.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] 14:42:59.957 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:42:59.957 [debug] QUERY OK source="sources" db=0.1ms idle=1374.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:42:59.957 [debug] QUERY OK source="media_profiles" db=0.1ms idle=674.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] 14:42:59.958 [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] 14:42:59.960 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301398] 14:42:59.960 [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] 14:42:59.961 [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 [] 14:42:59.961 [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 [] 14:42:59.961 [debug] Running yt-dlp command for action: get_downloadable_status 14:42:59.962 [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 [] 14:42:59.962 [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 [] 14:42:59.962 [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 [] 14:42:59.962 [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/b5/ea/b5ea1e606b25a685b24885037f4736b44c5264e2a03d873595fed1550eb794ac.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:00.317 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:43:00.631 [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/81/cc/81ccdf21889bf2cd8b58436699979f8330c3df51a99e51ca73af6acb9d3021db.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. 14:43:00.631 [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" 14:43:00.632 [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" 14:43:00.632 [info] {"args":{"id":1301397},"id":541652,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2054972,"event":"job:stop","queue_time":6576511,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:00.639 [info] {"args":{"id":1301399},"id":541654,"meta":{},"system_time":1793043780639144042,"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"]} 14:43:00.639 [debug] QUERY OK source="media_items" db=0.1ms idle=676.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] 14:43:00.639 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:43:00.639 [debug] QUERY OK source="sources" db=0.1ms idle=355.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:43:00.640 [debug] QUERY OK source="media_profiles" db=0.1ms idle=322.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] 14:43:00.640 [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] 14:43:00.642 [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" = ?) [1301399] 14:43:00.642 [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] 14:43:00.642 [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 [] 14:43:00.642 [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 [] 14:43:00.643 [debug] Running yt-dlp command for action: get_downloadable_status 14:43:00.643 [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 [] 14:43:00.643 [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 [] 14:43:00.643 [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 [] 14:43:00.643 [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/ac/ad/acadfaac2058e4d4dc2d811e8187f88f11fede3f331c29860d07e21206ad13be.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:00.921 [info] {"source":"oban","duration":7151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:01.705 [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/b5/ea/b5ea1e606b25a685b24885037f4736b44c5264e2a03d873595fed1550eb794ac.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. 14:43:01.705 [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" 14:43:01.705 [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" 14:43:01.705 [info] {"args":{"id":1301398},"id":541653,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1749024,"event":"job:stop","queue_time":7955558,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:01.712 [info] {"args":{"id":1301400},"id":541655,"meta":{},"system_time":1793043781712110380,"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"]} 14:43:01.712 [debug] QUERY OK source="media_items" db=0.1ms idle=1068.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] 14:43:01.712 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:43:01.713 [debug] QUERY OK source="sources" db=0.5ms idle=790.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:43:01.713 [debug] QUERY OK source="media_profiles" db=0.1ms idle=428.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] 14:43:01.713 [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] 14:43:01.715 [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] 14:43:01.715 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:43:01.715 [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 [] 14:43:01.715 [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 [] 14:43:01.715 [debug] Running yt-dlp command for action: get_downloadable_status 14:43:01.716 [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 [] 14:43:01.716 [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 [] 14:43:01.716 [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 [] 14:43:01.716 [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/6a/49/6a493fc5b1305c119f5d36ba055d732a26b5deb8cb10046e3dc0e82bb0c22ad9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:02.458 [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/ac/ad/acadfaac2058e4d4dc2d811e8187f88f11fede3f331c29860d07e21206ad13be.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. 14:43:02.458 [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" 14:43:02.458 [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" 14:43:02.458 [info] {"args":{"id":1301399},"id":541654,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1819443,"event":"job:stop","queue_time":8638558,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:02.465 [info] {"args":{"id":2720968},"id":541656,"meta":{},"system_time":1793043782465109728,"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"]} 14:43:02.465 [debug] QUERY OK source="media_items" db=0.1ms idle=748.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] 14:43:02.465 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:43:02.465 [debug] QUERY OK source="sources" db=0.1ms idle=748.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:43:02.466 [debug] QUERY OK source="media_profiles" db=0.1ms idle=179.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] 14:43:02.466 [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 [2720968] 14:43:02.468 [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" = ?) [2720968] 14:43:02.468 [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] 14:43:02.468 [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 [] 14:43:02.469 [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 [] 14:43:02.469 [debug] Running yt-dlp command for action: get_downloadable_status 14:43:02.470 [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 [] 14:43:02.470 [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 [] 14:43:02.470 [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 [] 14:43:02.470 [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/aa/87/aa87cbdd1fca87c2696348a8c2f11a739c9e3aacbc4700a2d585470f50f87eca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:03.611 [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/6a/49/6a493fc5b1305c119f5d36ba055d732a26b5deb8cb10046e3dc0e82bb0c22ad9.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. 14:43:03.611 [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" 14:43:03.612 [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" 14:43:03.612 [info] {"args":{"id":1301400},"id":541655,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1900035,"event":"job:stop","queue_time":9711509,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:03.619 [info] {"args":{"id":3440530},"id":541657,"meta":{},"system_time":1793043783619401676,"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"]} 14:43:03.619 [debug] QUERY OK source="media_items" db=0.2ms idle=1149.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" = ?) [3440530] 14:43:03.620 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:43:03.620 [debug] QUERY OK source="sources" db=0.2ms idle=1149.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:43:03.620 [debug] QUERY OK source="media_profiles" db=0.1ms idle=333.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] 14:43:03.621 [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 [3440530] 14:43:03.622 [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" = ?) [3440530] 14:43:03.622 [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] 14:43:03.623 [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 [] 14:43:03.623 [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 [] 14:43:03.623 [debug] Running yt-dlp command for action: get_downloadable_status 14:43:03.624 [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 [] 14:43:03.625 [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 [] 14:43:03.625 [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 [] 14:43:03.625 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/76/cc/76cc3e7a339eb5eb3073581faac858629ec70e3e4e8677ad62ec313ea68a9226.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:04.206 [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/aa/87/aa87cbdd1fca87c2696348a8c2f11a739c9e3aacbc4700a2d585470f50f87eca.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. 14:43:04.206 [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" 14:43:04.206 [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" 14:43:04.207 [info] {"args":{"id":2720968},"id":541656,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1741523,"event":"job:stop","queue_time":10464556,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:04.213 [info] {"args":{"id":3675707},"id":541658,"meta":{},"system_time":1793043784213111302,"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"]} 14:43:04.213 [debug] QUERY OK source="media_items" db=0.1ms idle=588.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" = ?) [3675707] 14:43:04.213 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:43:04.213 [debug] QUERY OK source="sources" db=0.1ms idle=588.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:43:04.214 [debug] QUERY OK source="media_profiles" db=0.1ms idle=588.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] 14:43:04.214 [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 [3675707] 14:43:04.216 [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" = ?) [3675707] 14:43:04.216 [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] 14:43:04.216 [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 [] 14:43:04.216 [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 [] 14:43:04.217 [debug] Running yt-dlp command for action: get_downloadable_status 14:43:04.218 [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 [] 14:43:04.218 [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 [] 14:43:04.218 [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 [] 14:43:04.219 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7a/c1/7ac13a0fa5ef954d6930eda737bdcb859a1ba34c418cc82cc6b17032b74f934b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:05.295 [info] {"args":{"id":51},"id":541642,"meta":{},"system_time":1793043785295282434,"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"]} 14:43:05.295 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [51] 14:43:05.295 [debug] QUERY OK source="settings" db=0.1ms idle=1076.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:05.296 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1007.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] 14:43:05.296 [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 [] 14:43:05.296 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 14:43:05.456 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 14:43:05.456 [debug] QUERY OK source="media_items" db=0.4ms idle=161.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 14:43:05.457 [debug] QUERY OK source="media_items" db=0.4ms idle=161.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")))) [51] 14:43:05.458 [debug] QUERY OK source="tasks" db=0.1ms idle=162.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541660, 51, ~U[2026-10-26 19:43:05Z], ~U[2026-10-26 19:43:05Z]] 14:43:05.458 [info] {"args":{"id":51},"id":541642,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":163360,"event":"job:stop","queue_time":550080,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:43:05.558 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/76/cc/76cc3e7a339eb5eb3073581faac858629ec70e3e4e8677ad62ec313ea68a9226.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 14:43:05.558 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:43:05.559 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:43:05.559 [info] {"args":{"id":3440530},"id":541657,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1939759,"event":"job:stop","queue_time":11618560,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:06.065 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7a/c1/7ac13a0fa5ef954d6930eda737bdcb859a1ba34c418cc82cc6b17032b74f934b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 14:43:06.065 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:43:06.065 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:43:06.066 [info] {"args":{"id":3675707},"id":541658,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1852609,"event":"job:stop","queue_time":12212560,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:30.932 [info] {"source":"oban","duration":9692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.318 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:44:00.939 [info] {"source":"oban","duration":7266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:30.950 [info] {"source":"oban","duration":9727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:45:00.319 [info] {"source":"oban","duration":160,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:45:00.960 [info] {"source":"oban","duration":10221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:30.970 [info] {"source":"oban","duration":9269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:40.475 [info] {"args":{"id":3647632},"id":541622,"meta":{},"system_time":1793043940475420326,"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"]} 14:45:40.476 [debug] QUERY OK source="media_items" db=0.3ms idle=1008.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" = ?) [3647632] 14:45:40.476 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:45:40.477 [debug] QUERY OK source="sources" db=0.8ms idle=17.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 14:45:40.478 [debug] QUERY OK source="media_profiles" db=0.7ms idle=18.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:45:40.479 [debug] QUERY OK source="media_items" db=0.7ms 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 [3647632] 14:45:40.480 [debug] QUERY OK source="media_metadata" db=0.0ms idle=5.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" = ?) [3647632] 14:45:40.481 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 14:45:40.481 [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 [] 14:45:40.481 [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 [] 14:45:40.482 [debug] Running yt-dlp command for action: get_downloadable_status 14:45:40.483 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:45:40.483 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:45:40.483 [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 [] 14:45:40.484 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7f/e9/7fe9da55883e9c45838b185cb1983837135a1b6126bbb0cb87794e49d8a62e87.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:45:42.550 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7f/e9/7fe9da55883e9c45838b185cb1983837135a1b6126bbb0cb87794e49d8a62e87.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:45:42.550 [error] yt-dlp download error for media item #3647632: "ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:45:42.551 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3647632},"id":541622,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2075510,"event":"job:exception","queue_time":674342,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:46:00.320 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:46:00.981 [info] {"source":"oban","duration":9882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:30.991 [info] {"source":"oban","duration":9318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.321 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:47:01.002 [info] {"source":"oban","duration":9788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:31.013 [info] {"source":"oban","duration":9752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:47:36.623 [info] {"args":{"id":2389734},"id":517877,"meta":{},"system_time":1793044056623342531,"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"]} 14:47:36.624 [debug] QUERY OK source="media_items" db=0.8ms idle=164.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" = ?) [2389734] 14:47:36.624 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:47:36.624 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [43] 14:47:36.625 [debug] QUERY OK source="media_profiles" db=0.1ms idle=166.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] 14:47:36.626 [debug] QUERY OK source="media_items" db=0.7ms 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 [2389734] 14:47:36.628 [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" = ?) [2389734] 14:47:36.628 [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] 14:47:36.629 [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 [] 14:47:36.629 [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 [] 14:47:36.629 [debug] Running yt-dlp command for action: get_downloadable_status 14:47:36.630 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:36.630 [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 [] 14:47:36.630 [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 [] 14:47:36.630 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=anYv0DXDnTc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/05/1e/051e6b716ee19176fb27e41d887a3a16fe7f3802ecb1a02db313703c77165b90.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:47:38.614 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=anYv0DXDnTc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/05/1e/051e6b716ee19176fb27e41d887a3a16fe7f3802ecb1a02db313703c77165b90.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] anYv0DXDnTc: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:47:38.614 [error] yt-dlp download error for media item #2389734: "ERROR: [youtube] anYv0DXDnTc: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:47:38.615 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2389734},"id":517877,"meta":{},"state":"discard","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1991200,"event":"job:exception","queue_time":818885,"attempt":20,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:48:00.322 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:48:01.023 [info] {"source":"oban","duration":9941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:31.030 [info] {"source":"oban","duration":5993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:33.690 [info] {"args":{"id":1643536},"id":540387,"meta":{},"system_time":1793044113690489322,"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"]} 14:48:33.691 [debug] QUERY OK source="media_items" db=0.2ms idle=1232.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" = ?) [1643536] 14:48:33.691 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:48:33.692 [debug] QUERY OK source="sources" db=0.7ms idle=1232.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:48:33.692 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:48:33.693 [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 [1643536] 14:48:33.694 [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" = ?) [1643536] 14:48:33.694 [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] 14:48:33.695 [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 [] 14:48:33.695 [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 [] 14:48:33.695 [debug] Running yt-dlp command for action: get_downloadable_status 14:48:33.696 [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 [] 14:48:33.696 [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 [] 14:48:33.696 [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 [] 14:48:33.697 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=dDBcb1KVWZg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/10/fd/10fdb7b0821ac32567e70ccac28ad6d035bddd89bfce0bbade2735a46830f4ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:48:35.714 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=dDBcb1KVWZg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/10/fd/10fdb7b0821ac32567e70ccac28ad6d035bddd89bfce0bbade2735a46830f4ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] dDBcb1KVWZg: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:48:35.714 [error] yt-dlp download error for media item #1643536: "ERROR: [youtube] dDBcb1KVWZg: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:48:35.715 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1643536},"id":540387,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2024320,"event":"job:exception","queue_time":62081,"attempt":16,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:49:00.323 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:49:01.041 [info] {"source":"oban","duration":10008,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:31.047 [info] {"source":"oban","duration":4609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:36.766 [info] {"args":{"id":1961170},"id":538888,"meta":{},"system_time":1793044176766802764,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":17,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:49:36.767 [debug] QUERY OK source="media_items" db=0.2ms idle=1009.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" = ?) [1961170] 14:49:36.767 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:49:36.767 [debug] QUERY OK source="sources" db=0.2ms idle=308.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:49:36.768 [debug] QUERY OK source="media_profiles" db=0.1ms idle=309.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:49:36.769 [debug] QUERY OK source="media_items" db=0.7ms 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 [1961170] 14:49:36.771 [debug] QUERY OK source="media_metadata" db=0.8ms idle=4.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" = ?) [1961170] 14:49:36.771 [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] 14:49:36.772 [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 [] 14:49:36.772 [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 [] 14:49:36.772 [debug] Running yt-dlp command for action: get_downloadable_status 14:49:36.773 [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 [] 14:49:36.773 [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 [] 14:49:36.773 [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 [] 14:49:36.773 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=R6HY5rAj0Cc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/69/de/69de17b6e08b7acdb9f3989c6e971cc11cc3c286598f3a4e13653a5a373e2c43.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:49:39.030 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=R6HY5rAj0Cc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/69/de/69de17b6e08b7acdb9f3989c6e971cc11cc3c286598f3a4e13653a5a373e2c43.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] R6HY5rAj0Cc: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:49:39.031 [error] yt-dlp download error for media item #1961170: "ERROR: [youtube] R6HY5rAj0Cc: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:49:39.031 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1961170},"id":538888,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2264379,"event":"job:exception","queue_time":634375,"attempt":17,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:50:00.324 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:50:01.056 [info] {"source":"oban","duration":9232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:06.809 [info] {"args":{"id":3751148},"id":541412,"meta":{},"system_time":1793044206808965841,"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"]} 14:50:06.809 [debug] QUERY OK source="media_items" db=0.1ms idle=350.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" = ?) [3751148] 14:50:06.809 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:50:06.809 [debug] QUERY OK source="sources" db=0.1ms idle=350.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:50:06.810 [debug] QUERY OK source="media_profiles" db=0.2ms idle=351.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] 14:50:06.810 [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 [3751148] 14:50:06.813 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.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" = ?) [3751148] 14:50:06.813 [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] 14:50:06.813 [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 [] 14:50:06.813 [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 [] 14:50:06.814 [debug] Running yt-dlp command for action: get_downloadable_status 14:50:06.815 [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 [] 14:50:06.815 [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 [] 14:50:06.815 [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 [] 14:50:06.815 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kWAlTuJgMTI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/72/8b72c4241635338594d2244433fffb07ce592b729b92c7c8aba671fce715ced8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:50:09.730 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=kWAlTuJgMTI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/72/8b72c4241635338594d2244433fffb07ce592b729b92c7c8aba671fce715ced8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] kWAlTuJgMTI: Join this channel to get access to members-only content like this video, and other exclusive perks. 14:50:09.730 [error] yt-dlp download error for media item #3751148: "ERROR: [youtube] kWAlTuJgMTI: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 14:50:09.731 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3751148},"id":541412,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2921860,"event":"job:exception","queue_time":344741,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:50:31.066 [info] {"source":"oban","duration":8546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.325 [info] {"source":"oban","duration":162,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:51:01.077 [info] {"source":"oban","duration":10717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:31.087 [info] {"source":"oban","duration":9761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.326 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:52:01.097 [info] {"source":"oban","duration":9475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:31.102 [info] {"source":"oban","duration":4851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:53.008 [info] {"args":{"id":52},"id":541659,"meta":{},"system_time":1793044373008894848,"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"]} 14:52:53.009 [debug] QUERY OK source="sources" db=0.7ms idle=550.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:52:53.010 [debug] QUERY OK source="settings" db=0.7ms idle=551.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:53.011 [debug] QUERY OK source="media_profiles" db=0.2ms idle=552.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] 14:52:53.011 [debug] QUERY OK source="settings" db=0.6ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:53.011 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 14:52:53.396 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 14:52:53.397 [debug] QUERY OK source="media_items" db=0.5ms idle=388.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [52, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 14:52:53.399 [debug] QUERY OK source="media_items" db=0.9ms idle=388.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] 14:52:53.403 [debug] QUERY OK source="tasks" db=0.2ms idle=391.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541661, 1301334, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.408 [debug] QUERY OK source="tasks" db=0.4ms idle=4.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541662, 1301335, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.411 [info] {"args":{"id":1301334},"id":541661,"meta":{},"system_time":1793044373411085376,"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"]} 14:52:53.411 [info] {"args":{"id":1301335},"id":541662,"meta":{},"system_time":1793044373411127478,"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"]} 14:52:53.411 [debug] QUERY OK source="media_items" db=0.5ms idle=3.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301335] 14:52:53.412 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:52:53.412 [debug] QUERY OK source="media_items" db=0.9ms idle=4.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 14:52:53.412 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:52:53.412 [debug] QUERY OK source="sources" db=0.4ms 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] 14:52:53.412 [debug] QUERY OK source="sources" db=0.4ms idle=1.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:52:53.413 [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] 14:52:53.413 [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] 14:52:53.413 [debug] QUERY OK source="media_items" db=0.4ms idle=0.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 [1301335] 14:52:53.413 [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] 14:52:53.413 [debug] QUERY OK source="tasks" db=0.3ms idle=0.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541663, 1301347, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.416 [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" = ?) [1301335] 14:52:53.416 [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" [541664, 1301392, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.416 [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] 14:52:53.417 [debug] QUERY OK source="media_metadata" db=0.2ms idle=0.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] 14:52:53.417 [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 [] 14:52:53.417 [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] 14:52:53.417 [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 [] 14:52:53.417 [debug] Running yt-dlp command for action: get_downloadable_status 14:52:53.417 [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 [] 14:52:53.418 [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 [] 14:52:53.419 [debug] Running yt-dlp command for action: get_downloadable_status 14:52:53.419 [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 [] 14:52:53.419 [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 [] 14:52:53.419 [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 [] 14:52:53.419 [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/aa/f5/aaf5168feeb5a3ba6bc9158044def4f60bd6cae8407ac1dd3f319613e610a7fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:52:53.420 [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 [] 14:52:53.420 [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 [] 14:52:53.420 [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 [] 14:52:53.420 [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/87/39/8739324741c94ab6c24e13781e0743c8e5da485be5e886ec0fa394fbedd2ff11.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:52:53.420 [debug] QUERY OK source="tasks" db=0.2ms idle=0.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541665, 1301393, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.423 [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" [541666, 1301394, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.426 [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" [541667, 1301395, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.429 [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" [541668, 1301397, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.432 [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" [541669, 1301398, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.434 [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" [541670, 1301399, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.437 [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" [541671, 1301400, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.440 [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" [541672, 2720968, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.442 [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" [541673, 3440530, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.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" [541674, 3675707, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.446 [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" [541675, 52, ~U[2026-10-26 19:52:53Z], ~U[2026-10-26 19:52:53Z]] 14:52:53.446 [info] {"args":{"id":52},"id":541659,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":437599,"event":"job:stop","queue_time":394063,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:52:55.157 [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/87/39/8739324741c94ab6c24e13781e0743c8e5da485be5e886ec0fa394fbedd2ff11.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. 14:52:55.157 [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" 14:52:55.158 [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" 14:52:55.158 [info] {"args":{"id":1301334},"id":541661,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1747114,"event":"job:stop","queue_time":409553,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:52:55.165 [info] {"args":{"id":1301347},"id":541663,"meta":{},"system_time":1793044375165170301,"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"]} 14:52:55.165 [debug] QUERY OK source="media_items" db=0.2ms idle=706.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" = ?) [1301347] 14:52:55.165 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:52:55.166 [debug] QUERY OK source="sources" db=0.2ms idle=707.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:52:55.166 [debug] QUERY OK source="media_profiles" db=0.1ms idle=162.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] 14:52:55.166 [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] 14:52:55.169 [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" = ?) [1301347] 14:52:55.169 [debug] QUERY OK source="media_profiles" db=0.0ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:52:55.169 [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 [] 14:52:55.170 [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 [] 14:52:55.170 [debug] Running yt-dlp command for action: get_downloadable_status 14:52:55.172 [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 [] 14:52:55.172 [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 [] 14:52:55.172 [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 [] 14:52:55.172 [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/53/76/53769e23ee4a38ac27f0b23091aed3aad34cc70122ff2e9d165617df68d2772c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:52:55.284 [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/aa/f5/aaf5168feeb5a3ba6bc9158044def4f60bd6cae8407ac1dd3f319613e610a7fe.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. 14:52:55.284 [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" 14:52:55.284 [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" 14:52:55.284 [info] {"args":{"id":1301335},"id":541662,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1873262,"event":"job:stop","queue_time":409553,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:52:55.291 [info] {"args":{"id":1301392},"id":541664,"meta":{},"system_time":1793044375291063858,"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"]} 14:52:55.291 [debug] QUERY OK source="media_items" db=0.2ms idle=119.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] 14:52:55.291 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:52:55.292 [debug] QUERY OK source="sources" db=0.2ms idle=119.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:52:55.292 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 14:52:55.292 [debug] QUERY OK source="media_items" db=0.3ms idle=7.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1301392] 14:52:55.295 [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] 14:52:55.295 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 14:52:55.295 [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 [] 14:52:55.296 [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 [] 14:52:55.296 [debug] Running yt-dlp command for action: get_downloadable_status 14:52:55.299 [debug] QUERY OK source="settings" db=0.0ms 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 [] 14:52:55.300 [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 [] 14:52:55.300 [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 [] 14:52:55.300 [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/0e/6a/0e6a1262bf33c5aa12fe61480bd739c6f7da66b89504dd3860bf25712cc40c87.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:52:57.101 [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/53/76/53769e23ee4a38ac27f0b23091aed3aad34cc70122ff2e9d165617df68d2772c.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. 14:52:57.101 [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" 14:52:57.102 [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" 14:52:57.102 [info] {"args":{"id":1301347},"id":541663,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1936856,"event":"job:stop","queue_time":2164518,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:52:57.109 [info] {"args":{"id":1301393},"id":541665,"meta":{},"system_time":1793044377109124177,"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"]} 14:52:57.109 [debug] QUERY OK source="media_items" db=0.1ms idle=650.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" = ?) [1301393] 14:52:57.109 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:52:57.109 [debug] QUERY OK source="sources" db=0.1ms idle=651.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:52:57.110 [debug] QUERY OK source="media_profiles" db=0.1ms idle=103.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] 14:52:57.110 [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 [1301393] 14:52:57.111 [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] 14:52:57.111 [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] 14:52:57.112 [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 [] 14:52:57.112 [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 [] 14:52:57.112 [debug] Running yt-dlp command for action: get_downloadable_status 14:52:57.114 [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 [] 14:52:57.114 [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 [] 14:52:57.114 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:57.114 [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/65/ff/65ff50053e299d9a7792fd31b6e316c0254fa664aa8e65dbbb68b152e25f0b4f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:52:57.221 [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/0e/6a/0e6a1262bf33c5aa12fe61480bd739c6f7da66b89504dd3860bf25712cc40c87.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. 14:52:57.221 [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" 14:52:57.221 [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" 14:52:57.221 [info] {"args":{"id":1301392},"id":541664,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1930355,"event":"job:stop","queue_time":2290511,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:52:57.228 [info] {"args":{"id":1301394},"id":541666,"meta":{},"system_time":1793044377228040121,"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"]} 14:52:57.228 [debug] QUERY OK source="media_items" db=0.1ms idle=113.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] 14:52:57.228 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:52:57.228 [debug] QUERY OK source="sources" db=0.1ms idle=113.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:52:57.229 [debug] QUERY OK source="media_profiles" db=0.1ms idle=114.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] 14:52:57.229 [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 [1301394] 14:52:57.232 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [1301394] 14:52:57.233 [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] 14:52:57.233 [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 [] 14:52:57.233 [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 [] 14:52:57.233 [debug] Running yt-dlp command for action: get_downloadable_status 14:52:57.235 [debug] QUERY OK source="settings" db=0.1ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:57.235 [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 [] 14:52:57.235 [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 [] 14:52:57.235 [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/18/9b/189b206f5ff278bc795688a387afadf3cdb73d2c553f575ef59b5d0ca17bbf2a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:52:59.094 [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/18/9b/189b206f5ff278bc795688a387afadf3cdb73d2c553f575ef59b5d0ca17bbf2a.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. 14:52:59.094 [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" 14:52:59.094 [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" 14:52:59.094 [info] {"args":{"id":1301394},"id":541666,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1866495,"event":"job:stop","queue_time":4227557,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:52:59.101 [info] {"args":{"id":1301395},"id":541667,"meta":{},"system_time":1793044379101160101,"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"]} 14:52:59.101 [debug] QUERY OK source="media_items" db=0.1ms idle=642.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] 14:52:59.101 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:52:59.101 [debug] QUERY OK source="sources" db=0.1ms idle=643.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:52:59.102 [debug] QUERY OK source="media_profiles" db=0.1ms idle=93.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] 14:52:59.102 [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 [1301395] 14:52:59.102 [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" = ?) [1301395] 14:52:59.103 [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] 14:52:59.103 [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 [] 14:52:59.103 [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 [] 14:52:59.103 [debug] Running yt-dlp command for action: get_downloadable_status 14:52:59.105 [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 [] 14:52:59.105 [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 [] 14:52:59.105 [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 [] 14:52:59.105 [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/da/5b/da5b9eaf500639d8e6ffa077547a49c7996765d9c7318c2db5168c5c5f2387e8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:52:59.190 [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/65/ff/65ff50053e299d9a7792fd31b6e316c0254fa664aa8e65dbbb68b152e25f0b4f.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. 14:52:59.190 [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" 14:52:59.190 [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" 14:52:59.190 [info] {"args":{"id":1301393},"id":541665,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2081396,"event":"job:stop","queue_time":4108510,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:52:59.197 [info] {"args":{"id":1301397},"id":541668,"meta":{},"system_time":1793044379197089681,"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"]} 14:52:59.197 [debug] QUERY OK source="media_items" db=0.1ms idle=92.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] 14:52:59.197 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:52:59.197 [debug] QUERY OK source="sources" db=0.2ms idle=92.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 14:52:59.198 [debug] QUERY OK source="media_profiles" db=0.1ms idle=92.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] 14:52:59.198 [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] 14:52:59.205 [debug] QUERY OK source="media_metadata" db=0.0ms idle=8.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] 14:52:59.206 [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] 14:52:59.206 [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 [] 14:52:59.206 [debug] QUERY OK source="settings" db=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:52:59.206 [debug] Running yt-dlp command for action: get_downloadable_status 14:52:59.208 [debug] QUERY OK source="settings" db=0.0ms 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 [] 14:52:59.208 [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 [] 14:52:59.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 [] 14:52:59.208 [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/7d/7a/7d7ae22bcf68546e74a2bc6798736da1ef557ad4970b044ef593a264ebeefbdd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:53:00.327 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:53:01.073 [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/da/5b/da5b9eaf500639d8e6ffa077547a49c7996765d9c7318c2db5168c5c5f2387e8.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. 14:53:01.073 [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" 14:53:01.073 [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" 14:53:01.073 [info] {"args":{"id":1301395},"id":541667,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1972176,"event":"job:stop","queue_time":6100567,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:53:01.080 [info] {"args":{"id":1301398},"id":541669,"meta":{},"system_time":1793044381080424138,"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"]} 14:53:01.080 [debug] QUERY OK source="media_items" db=0.2ms idle=621.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] 14:53:01.080 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:53:01.081 [debug] QUERY OK source="sources" db=0.1ms idle=622.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:53:01.081 [debug] QUERY OK source="media_profiles" db=0.1ms idle=71.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] 14:53:01.081 [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 [1301398] 14:53:01.083 [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" = ?) [1301398] 14:53:01.084 [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] 14:53:01.084 [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 [] 14:53:01.084 [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 [] 14:53:01.084 [debug] Running yt-dlp command for action: get_downloadable_status 14:53:01.086 [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 [] 14:53:01.086 [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 [] 14:53:01.086 [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 [] 14:53:01.087 [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/3c/78/3c78259796c6d17fb5cb20f53ccaf6fd1d146ad90d15203bbaa37a3506e1c651.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:53:01.109 [info] {"source":"oban","duration":7071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:01.131 [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/7d/7a/7d7ae22bcf68546e74a2bc6798736da1ef557ad4970b044ef593a264ebeefbdd.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. 14:53:01.131 [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" 14:53:01.131 [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" 14:53:01.132 [info] {"args":{"id":1301397},"id":541668,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1934673,"event":"job:stop","queue_time":6196555,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:53:01.138 [info] {"args":{"id":1301399},"id":541670,"meta":{},"system_time":1793044381138189880,"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"]} 14:53:01.138 [debug] QUERY OK source="media_items" db=0.1ms idle=51.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] 14:53:01.138 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:53:01.138 [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] 14:53:01.139 [debug] QUERY OK source="media_profiles" db=0.5ms idle=29.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:53:01.139 [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] 14:53:01.141 [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" = ?) [1301399] 14:53:01.141 [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] 14:53:01.141 [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 [] 14:53:01.141 [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 [] 14:53:01.142 [debug] Running yt-dlp command for action: get_downloadable_status 14:53:01.142 [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 [] 14:53:01.142 [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 [] 14:53:01.142 [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 [] 14:53:01.142 [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/9e/a7/9ea76f4b4af58a2d78792303585a04d7f1dbb8364dd7ff60cff184353168dbf1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:53:02.972 [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/3c/78/3c78259796c6d17fb5cb20f53ccaf6fd1d146ad90d15203bbaa37a3506e1c651.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. 14:53:02.972 [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" 14:53:02.972 [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" 14:53:02.973 [info] {"args":{"id":1301398},"id":541669,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1892407,"event":"job:stop","queue_time":8079594,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:53:02.979 [info] {"args":{"id":1301400},"id":541671,"meta":{},"system_time":1793044382979325766,"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"]} 14:53:02.979 [debug] QUERY OK source="media_items" db=0.1ms idle=520.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] 14:53:02.979 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:53:02.980 [debug] QUERY OK source="sources" db=0.2ms idle=521.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:53:02.980 [debug] QUERY OK source="media_profiles" db=0.1ms idle=521.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] 14:53:02.980 [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] 14:53:02.982 [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] 14:53:02.982 [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] 14:53:02.983 [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 [] 14:53:02.983 [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 [] 14:53:02.983 [debug] Running yt-dlp command for action: get_downloadable_status 14:53:02.984 [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 [] 14:53:02.984 [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 [] 14:53:02.984 [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 [] 14:53:02.984 [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/94/c5/94c5fe5fd0d335d50d02ae554e195c2c176a2e1434c8f5c8e4c9f844acbeb614.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:53:03.075 [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/9e/a7/9ea76f4b4af58a2d78792303585a04d7f1dbb8364dd7ff60cff184353168dbf1.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. 14:53:03.075 [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" 14:53:03.075 [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" 14:53:03.075 [info] {"args":{"id":1301399},"id":541670,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1937218,"event":"job:stop","queue_time":8137556,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:53:03.082 [info] {"args":{"id":2720968},"id":541672,"meta":{},"system_time":1793044383082236266,"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"]} 14:53:03.082 [debug] QUERY OK source="media_items" db=0.1ms idle=97.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] 14:53:03.082 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:53:03.083 [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" = ?) [52] 14:53:03.083 [debug] QUERY OK source="media_profiles" db=0.1ms idle=69.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] 14:53:03.083 [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] 14:53:03.091 [debug] QUERY OK source="media_metadata" db=0.1ms idle=9.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" = ?) [2720968] 14:53:03.091 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 14:53:03.092 [debug] QUERY OK source="settings" db=0.1ms 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 [] 14:53:03.092 [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 [] 14:53:03.092 [debug] Running yt-dlp command for action: get_downloadable_status 14:53:03.094 [debug] QUERY OK source="settings" db=0.1ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:53:03.094 [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 [] 14:53:03.095 [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 [] 14:53:03.095 [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/d2/e8/d2e8920fdaf348f8fad752e9951c5110c16f6ce51a5dfde15880f452520cf41f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:53:05.000 [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/d2/e8/d2e8920fdaf348f8fad752e9951c5110c16f6ce51a5dfde15880f452520cf41f.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. 14:53:05.000 [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" 14:53:05.000 [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" 14:53:05.001 [info] {"args":{"id":2720968},"id":541672,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1918494,"event":"job:stop","queue_time":10081566,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:53:05.007 [info] {"args":{"id":3440530},"id":541673,"meta":{},"system_time":1793044385007211249,"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"]} 14:53:05.007 [debug] QUERY OK source="media_items" db=0.1ms idle=548.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" = ?) [3440530] 14:53:05.007 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:53:05.007 [debug] QUERY OK source="sources" db=0.1ms idle=549.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 14:53:05.008 [debug] QUERY OK source="media_profiles" db=0.1ms idle=549.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] 14:53:05.008 [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 [3440530] 14:53:05.009 [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/94/c5/94c5fe5fd0d335d50d02ae554e195c2c176a2e1434c8f5c8e4c9f844acbeb614.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. 14:53:05.009 [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" 14:53:05.010 [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" 14:53:05.010 [info] {"args":{"id":1301400},"id":541671,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2030739,"event":"job:stop","queue_time":9978580,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:53:05.011 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [3440530] 14:53:05.011 [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] 14:53:05.012 [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 [] 14:53:05.012 [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 [] 14:53:05.012 [debug] Running yt-dlp command for action: get_downloadable_status 14:53:05.013 [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 [] 14:53:05.013 [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 [] 14:53:05.014 [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 [] 14:53:05.014 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e2/f1/e2f1075476928cb979d8c34a13dfbbfcb6a995c62874c0b32ba61d955af211b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:53:05.016 [info] {"args":{"id":3675707},"id":541674,"meta":{},"system_time":1793044385016264568,"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"]} 14:53:05.016 [debug] QUERY OK source="media_items" db=0.1ms 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."id" = ?) [3675707] 14:53:05.016 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:53:05.016 [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] 14:53:05.017 [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] 14:53:05.017 [debug] QUERY OK source="media_items" db=0.1ms 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 [3675707] 14:53:05.018 [debug] QUERY OK source="media_metadata" db=0.1ms 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" = ?) [3675707] 14:53:05.018 [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] 14:53:05.018 [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 [] 14:53:05.019 [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 [] 14:53:05.019 [debug] Running yt-dlp command for action: get_downloadable_status 14:53:05.020 [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 [] 14:53:05.020 [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 [] 14:53:05.020 [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 [] 14:53:05.020 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/11/37/1137da70258ab39443459d58b33eb9620136eea1cd0ceec1f4bd555844d90aac.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:53:06.024 [info] {"args":{"id":51},"id":541660,"meta":{},"system_time":1793044386024448019,"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"]} 14:53:06.024 [debug] QUERY OK source="sources" db=0.2ms idle=1004.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 14:53:06.025 [debug] QUERY OK source="settings" db=0.1ms idle=1004.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:53:06.025 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1004.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] 14:53:06.025 [debug] QUERY OK source="settings" db=0.1ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:53:06.025 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 14:53:06.179 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 14:53:06.180 [debug] QUERY OK source="media_items" db=0.3ms idle=155.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, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 14:53:06.180 [debug] QUERY OK source="media_items" db=0.3ms idle=155.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")))) [51] 14:53:06.181 [debug] QUERY OK source="tasks" db=0.1ms idle=155.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541676, 51, ~U[2026-10-26 19:53:06Z], ~U[2026-10-26 19:53:06Z]] 14:53:06.182 [info] {"args":{"id":51},"id":541660,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":157513,"event":"job:stop","queue_time":565729,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 14:53:07.105 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/11/37/1137da70258ab39443459d58b33eb9620136eea1cd0ceec1f4bd555844d90aac.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 14:53:07.105 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:53:07.105 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:53:07.105 [info] {"args":{"id":3675707},"id":541674,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2089053,"event":"job:stop","queue_time":12015515,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:53:07.145 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e2/f1/e2f1075476928cb979d8c34a13dfbbfcb6a995c62874c0b32ba61d955af211b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 14:53:07.145 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:53:07.145 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 14:53:07.146 [info] {"args":{"id":3440530},"id":541673,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2138677,"event":"job:stop","queue_time":12006526,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:53:31.120 [info] {"source":"oban","duration":9608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.328 [info] {"source":"oban","duration":165,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:54:01.129 [info] {"source":"oban","duration":9175,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:31.139 [info] {"source":"oban","duration":9303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:55:00.329 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:55:01.146 [info] {"source":"oban","duration":5979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:31.154 [info] {"source":"oban","duration":7151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.330 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:56:01.165 [info] {"source":"oban","duration":9490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:31.175 [info] {"source":"oban","duration":9565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.331 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:57:01.186 [info] {"source":"oban","duration":11055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:57:31.195 [info] {"source":"oban","duration":8212,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 14:58:00.332 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:58:01.206 [info] {"source":"oban","duration":9545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:31.216 [info] {"source":"oban","duration":9953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.333 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:59:01.227 [info] {"source":"oban","duration":9810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:31.237 [info] {"source":"oban","duration":9151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.334 [info] {"source":"oban","duration":153,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:00:01.244 [info] {"source":"oban","duration":6329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:25.532 [info] {"args":{"id":4244205},"id":540657,"meta":{},"system_time":1793044825532714253,"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"]} 15:00:25.533 [debug] QUERY OK source="media_items" db=0.7ms idle=1074.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" = ?) [4244205] 15:00:25.533 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:00:25.534 [debug] QUERY OK source="sources" db=0.6ms idle=1075.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:00:25.535 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1009.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:00:25.536 [debug] QUERY OK source="media_items" db=0.6ms 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 [4244205] 15:00:25.537 [debug] QUERY OK source="media_metadata" db=0.0ms idle=5.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" = ?) [4244205] 15:00:25.537 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 15:00:25.538 [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 [] 15:00:25.538 [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 [] 15:00:25.538 [debug] Running yt-dlp command for action: get_downloadable_status 15:00:25.539 [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 [] 15:00:25.539 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:00:25.539 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:00:25.539 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m1PbF6H2Y_M --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/df/b0/dfb04cef26540bcec8a65c59aea0d1dfc1ab9c73ac46b13f13da4868f883929b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:00:27.496 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m1PbF6H2Y_M --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/df/b0/dfb04cef26540bcec8a65c59aea0d1dfc1ab9c73ac46b13f13da4868f883929b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] m1PbF6H2Y_M: Join this channel to get access to members-only content like this video, and other exclusive perks. 15:00:27.496 [error] yt-dlp download error for media item #4244205: "ERROR: [youtube] m1PbF6H2Y_M: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 15:00:27.497 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4244205},"id":540657,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1964265,"event":"job:exception","queue_time":795009,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:00:31.255 [info] {"source":"oban","duration":9376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.335 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:01:01.264 [info] {"source":"oban","duration":9220,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:31.274 [info] {"source":"oban","duration":9363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.336 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:02:01.282 [info] {"source":"oban","duration":7071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:31.289 [info] {"source":"oban","duration":6029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:53.710 [info] {"args":{"id":52},"id":541675,"meta":{},"system_time":1793044973710493950,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:02:53.711 [debug] QUERY OK source="sources" db=0.7ms idle=1252.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:02:53.712 [debug] QUERY OK source="settings" db=0.8ms 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 [] 15:02:53.713 [debug] QUERY OK source="media_profiles" db=0.6ms idle=253.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:53.714 [debug] QUERY OK source="settings" db=0.6ms 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 [] 15:02:53.714 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC9H0HzpKf5JlazkADWnW1Jw 15:02:54.127 [debug] Media ids fetched from RSS: ["CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 15:02:54.128 [debug] QUERY OK source="media_items" db=0.4ms idle=417.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, "CCAPSfoNKEQ", "0eHrYiOsQJI", "m7HBtAHODYQ", "vYEstm2GME8", "Qlxxe07CtC8", "gj6LlLwfHao", "2BhhMGsNpwA", "XkAsmjwE8h4", "EMbU4e6vIsw", "PuapCroNCbQ", "dxUPceiXKWg", "FvrYJETrMNo", "bWMn4-J9vP8", "Nx5yf0QWeW8", "kJ5K4ymcdAc"] 15:02:54.129 [debug] QUERY OK source="media_items" db=0.8ms idle=417.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")))) [52] 15:02:54.133 [debug] QUERY OK source="tasks" db=0.2ms idle=419.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541677, 1301334, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.137 [debug] QUERY OK source="tasks" db=0.3ms idle=4.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541678, 1301335, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.140 [info] {"args":{"id":1301334},"id":541677,"meta":{},"system_time":1793044974140715863,"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"]} 15:02:54.140 [info] {"args":{"id":1301335},"id":541678,"meta":{},"system_time":1793044974140765729,"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"]} 15:02:54.141 [debug] QUERY OK source="media_items" db=0.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 WHERE (m0."id" = ?) [1301335] 15:02:54.141 [debug] QUERY OK source="media_items" db=0.5ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1301334] 15:02:54.141 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:02:54.141 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:02:54.141 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=0.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541679, 1301347, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.142 [debug] QUERY OK source="sources" db=0.4ms 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] 15:02:54.142 [debug] QUERY OK source="sources" db=0.9ms idle=0.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 15:02:54.142 [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] 15:02:54.143 [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] 15:02:54.143 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms 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] 15:02:54.143 [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] 15:02:54.145 [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] 15:02:54.145 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:54.146 [debug] QUERY OK source="media_metadata" db=0.2ms 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] 15:02:54.146 [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 [] 15:02:54.146 [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 [] 15:02:54.146 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 15:02:54.146 [debug] QUERY OK source="tasks" db=0.5ms idle=0.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541680, 1301392, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.146 [debug] Running yt-dlp command for action: get_downloadable_status 15:02:54.146 [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 [] 15:02:54.147 [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 [] 15:02:54.147 [debug] Running yt-dlp command for action: get_downloadable_status 15:02:54.147 [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 [] 15:02:54.147 [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 [] 15:02:54.148 [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 [] 15:02:54.148 [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/b7/19/b719f1e6ec6b9ef941788f125fd5867995c84a02746f0cfe0efa160df010b075.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:54.148 [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 [] 15:02:54.148 [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 [] 15:02:54.148 [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 [] 15:02:54.148 [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/44/d8/44d81dbad336b88f5ab811256dd21e5dffcc56f332da9b78b12f1af40f01f8c6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:54.150 [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" [541681, 1301393, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.153 [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" [541682, 1301394, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.157 [debug] QUERY OK source="tasks" db=0.5ms idle=3.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541683, 1301395, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.160 [debug] QUERY OK source="tasks" db=0.2ms idle=3.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541684, 1301397, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.163 [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" [541685, 1301398, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.166 [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" [541686, 1301399, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.169 [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" [541687, 1301400, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.172 [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" [541688, 2720968, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.175 [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" [541689, 3440530, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.177 [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" [541690, 3675707, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.178 [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" [541691, 52, ~U[2026-10-26 20:02:54Z], ~U[2026-10-26 20:02:54Z]] 15:02:54.178 [info] {"args":{"id":52},"id":541675,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":468113,"event":"job:stop","queue_time":263950,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:02:56.134 [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/b7/19/b719f1e6ec6b9ef941788f125fd5867995c84a02746f0cfe0efa160df010b075.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. 15:02:56.134 [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" 15:02:56.134 [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" 15:02:56.134 [info] {"args":{"id":1301335},"id":541678,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1993746,"event":"job:stop","queue_time":139553,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:56.141 [info] {"args":{"id":1301347},"id":541679,"meta":{},"system_time":1793044976141227132,"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"]} 15:02:56.141 [debug] QUERY OK source="media_items" db=0.1ms idle=682.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" = ?) [1301347] 15:02:56.141 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:02:56.142 [debug] QUERY OK source="sources" db=0.2ms idle=683.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:02:56.142 [debug] QUERY OK source="media_profiles" db=0.1ms idle=435.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:56.142 [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 [1301347] 15:02:56.144 [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" = ?) [1301347] 15:02:56.144 [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] 15:02:56.145 [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 [] 15:02:56.145 [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 [] 15:02:56.145 [debug] Running yt-dlp command for action: get_downloadable_status 15:02:56.146 [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 [] 15:02:56.146 [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 [] 15:02:56.147 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:56.147 [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/c4/c5/c4c50a7e8969946a3fa9b18bb07b8b104821e8f0052be5d7235542e04654ff26.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:56.376 [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/44/d8/44d81dbad336b88f5ab811256dd21e5dffcc56f332da9b78b12f1af40f01f8c6.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. 15:02:56.376 [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" 15:02:56.376 [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" 15:02:56.376 [info] {"args":{"id":1301334},"id":541677,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2235897,"event":"job:stop","queue_time":139553,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:56.383 [info] {"args":{"id":1301392},"id":541680,"meta":{},"system_time":1793044976383133261,"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"]} 15:02:56.383 [debug] QUERY OK source="media_items" db=0.1ms idle=236.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] 15:02:56.383 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:02:56.383 [debug] QUERY OK source="sources" db=0.1ms idle=236.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:02:56.384 [debug] QUERY OK source="media_profiles" db=0.1ms idle=236.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:56.384 [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 [1301392] 15:02:56.386 [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] 15:02:56.386 [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] 15:02:56.386 [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 [] 15:02:56.387 [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 [] 15:02:56.387 [debug] Running yt-dlp command for action: get_downloadable_status 15:02:56.388 [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 [] 15:02:56.388 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:56.388 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:56.388 [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/90/11/90111dcbf23ee6e481d46780d210911b66bc8a5392fa6df452438d8ed1e5ff8b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:58.129 [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/c4/c5/c4c50a7e8969946a3fa9b18bb07b8b104821e8f0052be5d7235542e04654ff26.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. 15:02:58.129 [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" 15:02:58.129 [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" 15:02:58.129 [info] {"args":{"id":1301347},"id":541679,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1988182,"event":"job:stop","queue_time":2140514,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:58.136 [info] {"args":{"id":1301393},"id":541681,"meta":{},"system_time":1793044978136355617,"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"]} 15:02:58.136 [debug] QUERY OK source="media_items" db=0.2ms idle=677.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] 15:02:58.137 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:02:58.137 [debug] QUERY OK source="sources" db=0.1ms idle=678.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:02:58.137 [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] 15:02:58.138 [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] 15:02:58.139 [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" = ?) [1301393] 15:02:58.139 [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] 15:02:58.140 [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 [] 15:02:58.140 [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 [] 15:02:58.140 [debug] Running yt-dlp command for action: get_downloadable_status 15:02:58.141 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:58.141 [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 [] 15:02:58.141 [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 [] 15:02:58.141 [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/d1/a6/d1a69fc615605f8482660e7e8cb66f6484313a92ffe9781ccbf3fae19f92b5c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:58.260 [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/90/11/90111dcbf23ee6e481d46780d210911b66bc8a5392fa6df452438d8ed1e5ff8b.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. 15:02:58.260 [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" 15:02:58.261 [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" 15:02:58.261 [info] {"args":{"id":1301392},"id":541680,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1877968,"event":"job:stop","queue_time":2382516,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:58.268 [info] {"args":{"id":1301394},"id":541682,"meta":{},"system_time":1793044978268236946,"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"]} 15:02:58.268 [debug] QUERY OK source="media_items" db=0.1ms idle=127.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] 15:02:58.268 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:02:58.269 [debug] QUERY OK source="sources" db=0.1ms idle=127.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:02:58.269 [debug] QUERY OK source="media_profiles" db=0.1ms idle=127.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:58.269 [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] 15:02:58.270 [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] 15:02:58.270 [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] 15:02:58.271 [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 [] 15:02:58.271 [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 [] 15:02:58.271 [debug] Running yt-dlp command for action: get_downloadable_status 15:02:58.272 [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 [] 15:02:58.272 [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 [] 15:02:58.272 [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 [] 15:02:58.272 [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/c1/af/c1afdb4f96d8c016c8b5832a67ae77a6c93c809dc3b90c6a81057970690f57b3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:00.075 [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/c1/af/c1afdb4f96d8c016c8b5832a67ae77a6c93c809dc3b90c6a81057970690f57b3.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. 15:03:00.075 [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" 15:03:00.075 [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" 15:03:00.076 [info] {"args":{"id":1301394},"id":541682,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1807757,"event":"job:stop","queue_time":4267560,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:00.083 [info] {"args":{"id":1301395},"id":541683,"meta":{},"system_time":1793044980083271200,"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"]} 15:03:00.083 [debug] QUERY OK source="media_items" db=0.1ms idle=624.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] 15:03:00.083 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:03:00.084 [debug] QUERY OK source="sources" db=0.1ms idle=625.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:03:00.084 [debug] QUERY OK source="media_profiles" db=0.1ms idle=371.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:03:00.084 [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 [1301395] 15:03:00.086 [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] 15:03:00.086 [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] 15:03:00.086 [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 [] 15:03:00.086 [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 [] 15:03:00.086 [debug] Running yt-dlp command for action: get_downloadable_status 15:03:00.088 [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 [] 15:03:00.088 [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 [] 15:03:00.089 [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 [] 15:03:00.089 [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/8d/60/8d60281c9811b710f315223117926fb3cdc21fb3e47cd09fb61fc5d719306e94.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:00.337 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:03:00.952 [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/d1/a6/d1a69fc615605f8482660e7e8cb66f6484313a92ffe9781ccbf3fae19f92b5c8.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. 15:03:00.952 [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" 15:03:00.952 [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" 15:03:00.972 [info] {"args":{"id":1301393},"id":541681,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2815900,"event":"job:stop","queue_time":4135569,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:00.983 [info] {"args":{"id":1301397},"id":541684,"meta":{},"system_time":1793044980982992368,"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"]} 15:03:00.983 [debug] QUERY OK source="media_items" db=0.2ms idle=894.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] 15:03:00.983 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:03:00.983 [debug] QUERY OK source="sources" db=0.1ms idle=646.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:03:00.984 [debug] QUERY OK source="media_profiles" db=0.1ms idle=269.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:03:00.984 [debug] QUERY OK source="media_items" db=0.1ms idle=12.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1301397] 15:03:00.985 [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" = ?) [1301397] 15:03:00.985 [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] 15:03:00.986 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:03:00.986 [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 [] 15:03:00.986 [debug] Running yt-dlp command for action: get_downloadable_status 15:03:00.987 [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 [] 15:03:00.987 [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 [] 15:03:00.987 [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 [] 15:03:00.987 [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/1b/d9/1bd9a09629567cc9ecb7e329d61fc2781ccddb2d22d091de074a43effdaebfbc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:01.298 [info] {"source":"oban","duration":7805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:01.948 [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/8d/60/8d60281c9811b710f315223117926fb3cdc21fb3e47cd09fb61fc5d719306e94.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. 15:03:01.948 [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" 15:03:01.948 [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" 15:03:01.949 [info] {"args":{"id":1301395},"id":541683,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1865398,"event":"job:stop","queue_time":6082577,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:01.955 [info] {"args":{"id":1301398},"id":541685,"meta":{},"system_time":1793044981955331761,"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"]} 15:03:01.955 [debug] QUERY OK source="media_items" db=0.1ms idle=967.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] 15:03:01.955 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:03:01.956 [debug] QUERY OK source="sources" db=0.5ms idle=657.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:03:01.956 [debug] QUERY OK source="media_profiles" db=0.1ms idle=241.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:03:01.957 [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] 15:03:01.957 [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] 15:03:01.958 [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] 15:03:01.958 [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 [] 15:03:01.958 [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 [] 15:03:01.958 [debug] Running yt-dlp command for action: get_downloadable_status 15:03:01.959 [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 [] 15:03:01.959 [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 [] 15:03:01.959 [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 [] 15:03:01.960 [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/79/4a/794ae377987ea2ae826e559c768db7d34342bcff52558693b1cc74464c01cf12.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:02.883 [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/1b/d9/1bd9a09629567cc9ecb7e329d61fc2781ccddb2d22d091de074a43effdaebfbc.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. 15:03:02.883 [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" 15:03:02.883 [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" 15:03:02.884 [info] {"args":{"id":1301397},"id":541684,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1900592,"event":"job:stop","queue_time":6978560,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:02.890 [info] {"args":{"id":1301399},"id":541686,"meta":{},"system_time":1793044982890113133,"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"]} 15:03:02.890 [debug] QUERY OK source="media_items" db=0.1ms idle=930.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] 15:03:02.890 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:03:02.890 [debug] QUERY OK source="sources" db=0.1ms idle=930.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:03:02.891 [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] 15:03:02.891 [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] 15:03:02.895 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.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] 15:03:02.895 [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] 15:03:02.895 [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 [] 15:03:02.895 [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 [] 15:03:02.896 [debug] Running yt-dlp command for action: get_downloadable_status 15:03:02.896 [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 [] 15:03:02.897 [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 [] 15:03:02.897 [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 [] 15:03:02.897 [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/5a/a1/5aa16fad806304ac55da17dc2d81e74a76737466df0d930f206a7095b241235a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:04.009 [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/79/4a/794ae377987ea2ae826e559c768db7d34342bcff52558693b1cc74464c01cf12.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. 15:03:04.009 [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" 15:03:04.009 [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" 15:03:04.010 [info] {"args":{"id":1301398},"id":541685,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2054647,"event":"job:stop","queue_time":7954569,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:04.016 [info] {"args":{"id":1301400},"id":541687,"meta":{},"system_time":1793044984016194700,"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"]} 15:03:04.016 [debug] QUERY OK source="media_items" db=0.1ms idle=1119.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" = ?) [1301400] 15:03:04.016 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:03:04.016 [debug] QUERY OK source="sources" db=0.1ms idle=1119.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:03:04.017 [debug] QUERY OK source="media_profiles" db=0.1ms idle=299.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:03:04.017 [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] 15:03:04.019 [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] 15:03:04.019 [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] 15:03:04.019 [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 [] 15:03:04.019 [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 [] 15:03:04.019 [debug] Running yt-dlp command for action: get_downloadable_status 15:03:04.020 [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 [] 15:03:04.020 [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 [] 15:03:04.020 [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 [] 15:03:04.020 [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/87/a1/87a171d291f3f327168454c41e81c8f7024889ce4e153a91a75fed0aecb05ae9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:04.941 [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/5a/a1/5aa16fad806304ac55da17dc2d81e74a76737466df0d930f206a7095b241235a.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. 15:03:04.941 [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" 15:03:04.942 [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" 15:03:04.942 [info] {"args":{"id":1301399},"id":541686,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2052020,"event":"job:stop","queue_time":8889513,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:04.949 [info] {"args":{"id":2720968},"id":541688,"meta":{},"system_time":1793044984949414917,"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"]} 15:03:04.949 [debug] QUERY OK source="media_items" db=0.2ms idle=928.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] 15:03:04.949 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:03:04.950 [debug] QUERY OK source="sources" db=0.1ms idle=929.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:03:04.950 [debug] QUERY OK source="media_profiles" db=0.1ms idle=230.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:03:04.950 [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] 15:03:04.952 [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] 15:03:04.952 [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] 15:03:04.952 [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 [] 15:03:04.952 [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 [] 15:03:04.952 [debug] Running yt-dlp command for action: get_downloadable_status 15:03:04.953 [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 [] 15:03:04.953 [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 [] 15:03:04.953 [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 [] 15:03:04.953 [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/d8/7e/d87e00e6be6a62b3e1a632a84e9a24af7d86ec7767c52c4b84375d29b812ff41.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:06.006 [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/87/a1/87a171d291f3f327168454c41e81c8f7024889ce4e153a91a75fed0aecb05ae9.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. 15:03:06.006 [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" 15:03:06.006 [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" 15:03:06.007 [info] {"args":{"id":1301400},"id":541687,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1990654,"event":"job:stop","queue_time":10015559,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:06.013 [info] {"args":{"id":3440530},"id":541689,"meta":{},"system_time":1793044986013433087,"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"]} 15:03:06.013 [debug] QUERY OK source="media_items" db=0.1ms idle=1059.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" = ?) [3440530] 15:03:06.013 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:03:06.014 [debug] QUERY OK source="sources" db=0.1ms idle=1060.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:03:06.014 [debug] QUERY OK source="media_profiles" db=0.1ms idle=293.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:03:06.014 [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 [3440530] 15:03:06.016 [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" = ?) [3440530] 15:03:06.016 [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] 15:03:06.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 [] 15:03:06.017 [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 [] 15:03:06.017 [debug] Running yt-dlp command for action: get_downloadable_status 15:03:06.018 [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 [] 15:03:06.018 [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 [] 15:03:06.018 [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 [] 15:03:06.018 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/94/67941f2aa088a083da550548076bdb1f6201be65e16c24d4f6070b5ce4edf19e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:06.727 [info] {"args":{"id":51},"id":541676,"meta":{},"system_time":1793044986727143052,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:03:06.727 [debug] QUERY OK source="sources" db=0.2ms idle=708.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:03:06.727 [debug] QUERY OK source="settings" db=0.1ms idle=709.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:03:06.728 [debug] QUERY OK source="media_profiles" db=0.1ms idle=709.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:03:06.728 [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 [] 15:03:06.728 [debug] Fetching recent media IDs from YouTube RSS feed for source: UCUMwY9iS8oMyWDYIe6_RmoA 15:03:06.858 [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/d8/7e/d87e00e6be6a62b3e1a632a84e9a24af7d86ec7767c52c4b84375d29b812ff41.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. 15:03:06.858 [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" 15:03:06.858 [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" 15:03:06.859 [info] {"args":{"id":2720968},"id":541688,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1909582,"event":"job:stop","queue_time":10948515,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:06.866 [info] {"args":{"id":3675707},"id":541690,"meta":{},"system_time":1793044986866368607,"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"]} 15:03:06.866 [debug] QUERY OK source="media_items" db=0.1ms idle=138.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" = ?) [3675707] 15:03:06.866 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:03:06.867 [debug] QUERY OK source="sources" db=0.1ms idle=138.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [52] 15:03:06.867 [debug] QUERY OK source="media_profiles" db=0.0ms idle=138.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:03:06.867 [debug] QUERY OK source="media_items" db=0.3ms 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 [3675707] 15:03:06.869 [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" = ?) [3675707] 15:03:06.869 [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] 15:03:06.869 [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 [] 15:03:06.869 [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 [] 15:03:06.869 [debug] Running yt-dlp command for action: get_downloadable_status 15:03:06.870 [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 [] 15:03:06.871 [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 [] 15:03:06.871 [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 [] 15:03:06.871 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cc/25/cc2536d347113709d79fba48ef1918786e055f3479aa7789889fe51e940c6bf8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:06.895 [debug] Media ids fetched from RSS: ["VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 15:03:06.896 [debug] QUERY OK source="media_items" db=0.3ms idle=26.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [51, "VUGH0DMUesA", "jlWnoRsGJNQ", "usRlRCNIOG0", "BTuGvfQGOrY", "vaKeCPgay9I", "ZBa3BK4Efcw", "Tyw6quANpiY", "WxN9VzwoGGw", "9-CIInQhBUs", "i8h4eTcxF9E", "AiSl4vf40WU", "rWMQ-g2QDsI", "sqm4-B07LsE", "3e-nauaCkgo", "B0yAy2j-9V0"] 15:03:06.896 [debug] QUERY OK source="media_items" db=0.3ms idle=26.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] 15:03:06.897 [debug] QUERY OK source="tasks" db=0.2ms idle=26.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [541692, 51, ~U[2026-10-26 20:03:06Z], ~U[2026-10-26 20:03:06Z]] 15:03:06.898 [info] {"args":{"id":51},"id":541676,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":170643,"event":"job:stop","queue_time":545490,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:03:08.368 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rJg7l32Zyyo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/94/67941f2aa088a083da550548076bdb1f6201be65e16c24d4f6070b5ce4edf19e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 15:03:08.368 [error] yt-dlp download error for media item #3440530: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 15:03:08.368 [error] yt-dlp download will not be retried: "ERROR: [youtube] rJg7l32Zyyo: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 15:03:08.368 [info] {"args":{"id":3440530},"id":541689,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2354872,"event":"job:stop","queue_time":12012564,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:08.808 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Z14DopMwwE4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cc/25/cc2536d347113709d79fba48ef1918786e055f3479aa7789889fe51e940c6bf8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks. 15:03:08.808 [error] yt-dlp download error for media item #3675707: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 15:03:08.809 [error] yt-dlp download will not be retried: "ERROR: [youtube] Z14DopMwwE4: This video is available to this channel's members on level: Tier 2 (or any higher level). Join this channel to get access to members-only content and other exclusive perks.\n" 15:03:08.809 [info] {"args":{"id":3675707},"id":541690,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":1942709,"event":"job:stop","queue_time":12865513,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:31.307 [info] {"source":"oban","duration":9201,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:46.777 [info] {"args":{"id":4244204},"id":540656,"meta":{},"system_time":1793045026777609336,"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"]} 15:03:46.778 [debug] QUERY OK source="media_items" db=0.3ms idle=318.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" = ?) [4244204] 15:03:46.778 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:03:46.778 [debug] QUERY OK source="sources" db=0.2ms idle=319.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:03:46.779 [debug] QUERY OK source="media_profiles" db=0.1ms idle=319.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] 15:03:46.780 [debug] QUERY OK source="media_items" db=0.7ms 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 [4244204] 15:03:46.782 [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" = ?) [4244204] 15:03:46.782 [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] 15:03:46.782 [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 [] 15:03:46.783 [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 [] 15:03:46.783 [debug] Running yt-dlp command for action: get_downloadable_status 15:03:46.784 [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 [] 15:03:46.784 [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 [] 15:03:46.784 [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 [] 15:03:46.784 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_Vqmu1AbXyQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/da/85/da854c2febcfe1d78ca31bbd3edfccfe859d6e0a80aabec487094530ee20b733.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:48.862 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_Vqmu1AbXyQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/da/85/da854c2febcfe1d78ca31bbd3edfccfe859d6e0a80aabec487094530ee20b733.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] _Vqmu1AbXyQ: Join this channel to get access to members-only content like this video, and other exclusive perks. 15:03:48.862 [error] yt-dlp download error for media item #4244204: "ERROR: [youtube] _Vqmu1AbXyQ: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 15:03:48.862 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4244204},"id":540656,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2084802,"event":"job:exception","queue_time":974607,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:04:00.338 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:04:01.318 [info] {"source":"oban","duration":10001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:10.806 [info] {"args":{"id":1558052},"id":538898,"meta":{},"system_time":1793045050806400674,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":17,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:04:10.807 [debug] QUERY OK source="media_items" db=0.6ms idle=347.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" = ?) [1558052] 15:04:10.807 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:04:10.807 [debug] QUERY OK source="sources" db=0.1ms idle=348.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 15:04:10.807 [debug] QUERY OK source="media_profiles" db=0.1ms idle=349.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] 15:04:10.808 [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 [1558052] 15:04:10.809 [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" = ?) [1558052] 15:04:10.809 [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] 15:04:10.810 [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 [] 15:04:10.810 [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 [] 15:04:10.810 [debug] Running yt-dlp command for action: get_downloadable_status 15:04:10.812 [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 [] 15:04:10.812 [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 [] 15:04:10.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 [] 15:04:10.812 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aaZWsBVT1KU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/81/468109f645a6223f5f36fe6ae5e0fc49816dd79ef9defc2c98611a0f7c305426.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:04:12.866 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aaZWsBVT1KU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/81/468109f645a6223f5f36fe6ae5e0fc49816dd79ef9defc2c98611a0f7c305426.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] aaZWsBVT1KU: Join this channel to get access to members-only content like this video, and other exclusive perks. 15:04:12.866 [error] yt-dlp download error for media item #1558052: "ERROR: [youtube] aaZWsBVT1KU: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 15:04:12.867 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":1558052},"id":538898,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2060698,"event":"job:exception","queue_time":674301,"attempt":17,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:04:31.329 [info] {"source":"oban","duration":9965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 15:04:31.829 [info] {"args":{"id":30},"id":541643,"meta":{},"system_time":1793045071829368958,"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"]} 15:04:31.829 [debug] QUERY OK source="sources" db=0.2ms idle=1370.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:04:31.830 [debug] QUERY OK source="settings" db=0.1ms idle=1008.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:04:31.835 [debug] QUERY OK source="media_items" db=4.9ms idle=500.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")))) [30] 15:04:31.835 [debug] QUERY OK source="media_items" db=0.2ms idle=12.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [30] 15:04:31.835 [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] 15:04:31.836 [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 [] 15:04:31.836 [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 [] 15:04:31.841 [debug] QUERY OK source="media_items" db=3.7ms 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 [30] 15:04:31.844 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 15:04:31.844 [debug] Current batch of media processed. Will check again in 1000ms 15:04:31.844 [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 [] 15:04:31.844 [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 [] 15:04:31.844 [debug] QUERY OK source="settings" db=0.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 [] 15:04:31.844 [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/61/dd/61dd239a9936413a9931c21af1171c0c668fc4c1f0d01f22133d69472f0ecbbc.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8c/15/8c1588d8862301412347ea86b4dfcd12b21d9b72cbf45a37f8a47d145375a03d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:04:32.844 [debug] Current batch of media processed. Will check again in 1000ms 15:04:33.833 [info] {"args":{"id":3647632},"id":541622,"meta":{},"system_time":1793045073833162139,"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"]} 15:04:33.833 [debug] QUERY OK source="media_items" db=0.2ms idle=374.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" = ?) [3647632] 15:04:33.833 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:04:33.834 [debug] QUERY OK source="sources" db=0.2ms idle=375.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:04:33.834 [debug] QUERY OK source="media_profiles" db=0.1ms idle=375.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] 15:04:33.835 [debug] QUERY OK source="media_items" db=0.3ms 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 [3647632] 15:04:33.837 [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" = ?) [3647632] 15:04:33.838 [debug] QUERY OK source="media_profiles" db=0.0ms 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] 15:04:33.838 [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 [] 15:04:33.838 [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 [] 15:04:33.838 [debug] Running yt-dlp command for action: get_downloadable_status 15:04:33.840 [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 [] 15:04:33.840 [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 [] 15:04:33.840 [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 [] 15:04:33.840 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ab/ff/abff988e8e5a0f6d205f36aeacb13f6d64710f84ab673f331282f847eacdc605.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:04:33.845 [debug] Current batch of media processed. Will check again in 1000ms 15:04:34.846 [debug] Current batch of media processed. Will check again in 1000ms 15:04:35.847 [debug] Current batch of media processed. Will check again in 1000ms 15:04:36.848 [debug] Current batch of media processed. Will check again in 1000ms 15:04:36.924 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=MvjG9y5UWKs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ab/ff/abff988e8e5a0f6d205f36aeacb13f6d64710f84ab673f331282f847eacdc605.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks. 15:04:36.924 [error] yt-dlp download error for media item #3647632: "ERROR: [youtube] MvjG9y5UWKs: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 15:04:36.925 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3647632},"id":541622,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":3091621,"event":"job:exception","queue_time":280585,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:04:37.849 [debug] Current batch of media processed. Will check again in 1000ms 15:04:38.850 [debug] Current batch of media processed. Will check again in 1000ms 15:04:39.851 [debug] Current batch of media processed. Will check again in 1000ms 15:04:40.852 [debug] Current batch of media processed. Will check again in 1000ms 15:04:41.853 [debug] Current batch of media processed. Will check again in 1000ms 15:04:42.854 [debug] Current batch of media processed. Will check again in 1000ms 15:04:43.855 [debug] Current batch of media processed. Will check again in 1000ms 15:04:44.856 [debug] Current batch of media processed. Will check again in 1000ms 15:04:45.857 [debug] Current batch of media processed. Will check again in 1000ms 15:04:46.858 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 878, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", "id" => "g6PtJ0ZOCp8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "playlist_index" => 1, "timestamp" => 1793032225, "title" => "The Future Of Linux Gaming Is Bright", "upload_date" => "20261026"} 15:04:46.859 [debug] QUERY OK source="sources" db=0.2ms idle=1400.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:04:46.859 [debug] QUERY OK source="sources" db=0.1ms idle=1019.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:04:46.866 [debug] QUERY OK source="media_items" db=6.2ms idle=401.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-26 16:30:25Z], 30] 15:04:46.869 [debug] QUERY OK source="media_items" db=2.9ms idle=407.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 gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "53d82293-9ca2-456b-a1de-cfff4b6a53e7", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", 1, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, false, false, 30, [], 98, ~U[2026-10-26 16:30:25Z], ~U[2026-10-26 20:04:46Z], ~U[2026-10-26 20:04:46Z], "Linux gaming is in the best state it's ever been in and now we're seeing Epic Games Launcher come to Linux and with that I'd love to see Proton become a point of collaboration on Linux.\n\n==========Support The Channel==========\n► Patreon: https://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 #LinuxGaming #GamingOnLinux #Gaming #Steam #Epic\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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 Future Of Linux Gaming Is Bright", "g6PtJ0ZOCp8", 878, false, "https://www.youtube.com/watch?v=g6PtJ0ZOCp8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102600_The Future Of Linux Gaming Is Bright.mp4", false, 30, ~U[2026-10-26 16:30:25Z]] 15:04:46.870 [debug] QUERY OK source="sources" db=0.2ms idle=28.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 15:04:46.870 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:04:46.870 [debug] QUERY OK source="media_items" db=0.2ms idle=10.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4246141] 15:04:46.871 [debug] Current batch of media processed. Will check again in 1000ms 15:04:47.871 [debug] Current batch of media processed. Will check again in 1000ms 15:04:48.872 [debug] Current batch of media processed. Will check again in 1000ms 15:04:49.873 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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" => 857, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", "id" => "B28eZ7BHRYE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=B28eZ7BHRYE", "playlist_index" => 2, "timestamp" => 1792945823, "title" => "Arch Linux's AUR Keeps Getting Hit With Malware", "upload_date" => "20261025"} 15:04:49.874 [debug] QUERY OK source="sources" db=0.1ms idle=1415.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:04:49.874 [debug] QUERY OK source="sources" db=0.1ms idle=1415.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:04:49.879 [debug] QUERY OK source="media_items" db=4.5ms idle=1415.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-25 16:30:23Z], 30] 15:04:49.881 [debug] QUERY OK source="media_items" db=1.5ms idle=1035.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" ["Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "8b4c94db-ab78-4632-b872-ad462041175d", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", 2, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, false, false, 30, [], 98, ~U[2026-10-25 16:30:23Z], ~U[2026-10-26 20:04:49Z], ~U[2026-10-26 20:04:49Z], "Even with signups being currently closed Arch Linux's AUR once again got hit with another albeit small this time a malware attack.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/thread/L3TGW6CC6WCX32VKEXLFAYDWCQXA2ICZ/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #FOSS #OpenSource #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.", "Arch Linux's AUR Keeps Getting Hit With Malware", "B28eZ7BHRYE", 857, false, "https://www.youtube.com/watch?v=B28eZ7BHRYE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102500_Arch Linux's AUR Keeps Getting Hit With Malware.mp4", false, 30, ~U[2026-10-25 16:30:23Z]] 15:04:49.881 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [30] 15:04:49.881 [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] 15:04:49.882 [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 [4238259] 15:04:49.882 [debug] Current batch of media processed. Will check again in 1000ms 15:04:50.882 [debug] Current batch of media processed. Will check again in 1000ms 15:04:51.883 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1655, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", "id" => "ObKIuIzFzYs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ObKIuIzFzYs", "playlist_index" => 3, "timestamp" => 1792859431, "title" => "2026 Linux Maintainers Summit Was All About AI", "upload_date" => "20261024"} 15:04:51.884 [debug] QUERY OK source="sources" db=0.2ms idle=425.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:04:51.884 [debug] QUERY OK source="sources" db=0.1ms idle=426.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:04:51.890 [debug] QUERY OK source="media_items" db=5.8ms idle=426.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-24 16:30:31Z], 30] 15:04:51.892 [debug] QUERY OK source="media_items" db=1.4ms idle=432.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" ["As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "f5695862-0a45-44e9-9454-529efea6c973", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", 3, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-24 16:30:31Z], ~U[2026-10-26 20:04:51Z], ~U[2026-10-26 20:04:51Z], "As you might expect for what's been going on in the Linux kernel this years maintainer summit was all about AI but they also touched a bit on what happens to Linux after Torvalds\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSashiko Github: https://github.com/sashiko-dev/sashiko\nMaintainers Summit Post: https://lwn.net/SubscriberLink/1099594/26d89d9386c9a5dc/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #linuxkernel \n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "2026 Linux Maintainers Summit Was All About AI", "ObKIuIzFzYs", 1655, false, "https://www.youtube.com/watch?v=ObKIuIzFzYs", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102400_2026 Linux Maintainers Summit Was All About AI.mp4", false, 30, ~U[2026-10-24 16:30:31Z]] 15:04:51.893 [debug] QUERY OK source="sources" db=0.2ms idle=44.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 15:04:51.893 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:04:51.894 [debug] QUERY OK source="media_items" db=0.2ms 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 [4230255] 15:04:51.894 [debug] Current batch of media processed. Will check again in 1000ms 15:04:52.894 [debug] Current batch of media processed. Will check again in 1000ms 15:04:53.895 [debug] Current batch of media processed. Will check again in 1000ms 15:04:54.897 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 661, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", "id" => "tOhtcCHEcks", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tOhtcCHEcks", "playlist_index" => 4, "timestamp" => 1792686606, "title" => "Steam Finally Went 64 Bit On Linux", "upload_date" => "20261022"} 15:04:54.897 [debug] QUERY OK source="sources" db=0.2ms idle=1438.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:04:54.898 [debug] QUERY OK source="sources" db=0.1ms idle=1439.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:04:54.904 [debug] QUERY OK source="media_items" db=6.1ms idle=1439.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-22 16:30:06Z], 30] 15:04:54.907 [debug] QUERY OK source="media_items" db=2.3ms idle=1053.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" ["After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "779bb6c3-625a-4d03-b2ec-4df01a2ecbcc", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", 4, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, false, false, 30, [], 98, ~U[2026-10-22 16:30:06Z], ~U[2026-10-26 20:04:54Z], ~U[2026-10-26 20:04:54Z], "After a very long time of asking Steam for Linux is finally going 64 Bit at least in the beta branch\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nWindows Announcement: https://store.steampowered.com/news/group/4397053/view/599669707226744433\nSteam For Linux 64 Bit: https://github.com/ValveSoftware/steam-for-linux/issues/3518\nEarlier Change: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/532125848715658036\nRecent Announcement: https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/703282384630448403\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Steam #OpenSource #FOSS #LinuxGaming #GamingOnLinux #Gaming\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Steam Finally Went 64 Bit On Linux", "tOhtcCHEcks", 661, false, "https://www.youtube.com/watch?v=tOhtcCHEcks", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102200_Steam Finally Went 64 Bit On Linux.mp4", false, 30, ~U[2026-10-22 16:30:06Z]] 15:04:54.908 [debug] QUERY OK source="sources" db=0.2ms idle=55.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:04:54.908 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:04:54.908 [debug] QUERY OK source="media_items" db=0.2ms idle=10.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4214594] 15:04:54.909 [debug] Current batch of media processed. Will check again in 1000ms 15:04:55.909 [debug] Current batch of media processed. Will check again in 1000ms 15:04:56.910 [debug] Current batch of media processed. Will check again in 1000ms 15:04:57.911 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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" => 1233, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", "id" => "lBCWjJslSc8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lBCWjJslSc8", "playlist_index" => 5, "timestamp" => 1792600228, "title" => "Linux Kernel Just Abandoned AI Disclosure", "upload_date" => "20261021"} 15:04:57.912 [debug] QUERY OK source="sources" db=0.1ms idle=1453.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:04:57.912 [debug] QUERY OK source="sources" db=0.1ms idle=1453.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:04:57.917 [debug] QUERY OK source="media_items" db=4.7ms idle=1453.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-21 16:30:28Z], 30] 15:04:57.918 [debug] QUERY OK source="media_items" db=0.9ms idle=1062.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" ["For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "bad18490-ca0b-4d0c-9c3b-0be23384340b", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", 5, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, false, false, 30, [], 98, ~U[2026-10-21 16:30:28Z], ~U[2026-10-26 20:04:57Z], ~U[2026-10-26 20:04:57Z], "For a while now the Linux Kernel has had a rule about disclosing if a commit uses AI, that rule has now been abandoned following Linux Torvalds going all in on 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==========\nAnnouncement Thread: https://lore.kernel.org/lkml/20261009083137.3-1-sashal@kernel.org/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxKernel #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.", "Linux Kernel Just Abandoned AI Disclosure", "lBCWjJslSc8", 1233, false, "https://www.youtube.com/watch?v=lBCWjJslSc8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102100_Linux Kernel Just Abandoned AI Disclosure.mp4", false, 30, ~U[2026-10-21 16:30:28Z]] 15:04:57.918 [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" = ?) [30] 15:04:57.919 [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] 15:04:57.919 [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 [4206623] 15:04:57.919 [debug] Current batch of media processed. Will check again in 1000ms 15:04:58.920 [debug] Current batch of media processed. Will check again in 1000ms 15:04:59.921 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1095, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", "id" => "3Xi7m0CYk5s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "playlist_index" => 6, "timestamp" => 1792513813, "title" => "Fortnite On Linux Changes Everything For Linux Gaming", "upload_date" => "20261020"} 15:04:59.922 [debug] QUERY OK source="sources" db=0.2ms idle=463.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:04:59.922 [debug] QUERY OK source="sources" db=0.1ms idle=463.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:04:59.929 [debug] QUERY OK source="media_items" db=6.1ms idle=464.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-20 16:30:13Z], 30] 15:04:59.931 [debug] QUERY OK source="media_items" db=1.5ms idle=470.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" ["Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "26fe18e2-54af-49f5-aea8-7a1c2f2747b6", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", 6, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, false, false, 30, [], 98, ~U[2026-10-20 16:30:13Z], ~U[2026-10-26 20:04:59Z], ~U[2026-10-26 20:04:59Z], "Epic Games Launcher, Fortnite and a new version of Easy Anti Cheat is so much bigger for Linux gaming than just those elements, this is a sign for others to take Linux seriously.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nEpic Games Launcher: https://launcher.epicgames.com/\nBlog Post: https://store.epicgames.com/news/epic-games-launcher-preview\nEAC V2: https://onlineservices.epicgames.com/news/introducing-easy-anti-cheat-linux-v2\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #LinuxGaming #GamingOnLinux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Fortnite On Linux Changes Everything For Linux Gaming", "3Xi7m0CYk5s", 1095, false, "https://www.youtube.com/watch?v=3Xi7m0CYk5s", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e102000_Fortnite On Linux Changes Everything For Linux Gaming.mp4", false, 30, ~U[2026-10-20 16:30:13Z]] 15:04:59.931 [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" = ?) [30] 15:04:59.932 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:04:59.932 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4198751] 15:04:59.932 [debug] Current batch of media processed. Will check again in 1000ms 15:05:00.339 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:05:00.933 [debug] Current batch of media processed. Will check again in 1000ms 15:05:01.338 [info] {"source":"oban","duration":8175,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:01.934 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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" => 1215, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", "id" => "tnwm-zjkHcE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tnwm-zjkHcE", "playlist_index" => 7, "timestamp" => 1792427421, "title" => "Those Who Built Open Source", "upload_date" => "20261019"} 15:05:01.935 [debug] QUERY OK source="sources" db=0.2ms idle=596.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:05:01.935 [debug] QUERY OK source="sources" db=0.1ms idle=476.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:05:01.940 [debug] QUERY OK source="media_items" db=4.7ms idle=477.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-19 16:30:21Z], 30] 15:05:01.942 [debug] QUERY OK source="media_items" db=1.5ms idle=482.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" ["So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "dcc10ef7-49e3-4939-a1d0-affed3aa04be", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", 7, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, false, false, 30, [], 98, ~U[2026-10-19 16:30:21Z], ~U[2026-10-26 20:05:01Z], ~U[2026-10-26 20:05:01Z], "So much of open source is built off of thank less work, you've all seen that one XKCD, that is how so much of the tech world actually works.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nXKCD 2347: https://xkcd.com/2347/\nDocument: https://sheets.works/data-viz/holding-up-the-internet\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#OpenSource #Linux #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.", "Those Who Built Open Source", "tnwm-zjkHcE", 1215, false, "https://www.youtube.com/watch?v=tnwm-zjkHcE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101900_Those Who Built Open Source.mp4", false, 30, ~U[2026-10-19 16:30:21Z]] 15:05:01.942 [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] 15:05:01.943 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 15:05:01.944 [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 [4190952] 15:05:01.944 [debug] Current batch of media processed. Will check again in 1000ms 15:05:02.944 [debug] Current batch of media processed. Will check again in 1000ms 15:05:03.945 [debug] Current batch of media processed. Will check again in 1000ms 15:05:04.946 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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" => 902, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", "id" => "k7aFcpRduxU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=k7aFcpRduxU", "playlist_index" => 8, "timestamp" => 1792341036, "title" => "Gentoo Needs Your Help", "upload_date" => "20261018"} 15:05:04.947 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [30] 15:05:04.947 [debug] QUERY OK source="sources" db=0.1ms idle=1488.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:05:04.952 [debug] QUERY OK source="media_items" db=4.7ms idle=1489.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-18 16:30:36Z], 30] 15:05:04.954 [debug] QUERY OK source="media_items" db=1.4ms idle=1088.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" ["Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "d41bbc3b-70e4-447d-b0fc-b91954ea4df5", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", 8, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, false, false, 30, [], 98, ~U[2026-10-18 16:30:36Z], ~U[2026-10-26 20:05:04Z], ~U[2026-10-26 20:05:04Z], "Whilst I don't run Gentoo myself I do want to see the project do well and the project right now needs some new support.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGentoo Sponsors: https://www.gentoo.org/inside-gentoo/sponsors/\nGentoo News: https://www.gentoo.org/news/2026/10/07/infrastructure-sponsors-wanted.html\nGentoo Wiki Sponsors: https://wiki.gentoo.org/wiki/Project:Infrastructure/Sponsorship\nGentoo Blog Post: https://blogs.gentoo.org/mgorny/2026/05/28/why-gentoo/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gentoo #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.", "Gentoo Needs Your Help", "k7aFcpRduxU", 902, false, "https://www.youtube.com/watch?v=k7aFcpRduxU", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101800_Gentoo Needs Your Help.mp4", false, 30, ~U[2026-10-18 16:30:36Z]] 15:05:04.954 [debug] QUERY OK source="sources" db=0.1ms idle=89.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:05:04.955 [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] 15:05:04.955 [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 [4182968] 15:05:04.955 [debug] Current batch of media processed. Will check again in 1000ms 15:05:05.955 [debug] Current batch of media processed. Will check again in 1000ms 15:05:06.956 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1047, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", "id" => "cxbtnPAL8Z8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "playlist_index" => 9, "timestamp" => 1792254608, "title" => "Gitea Is Not Suitable For Gitea", "upload_date" => "20261017"} 15:05:06.957 [debug] QUERY OK source="sources" db=0.2ms idle=498.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:05:06.957 [debug] QUERY OK source="sources" db=0.0ms idle=498.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 15:05:06.964 [debug] QUERY OK source="media_items" db=6.5ms idle=499.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-17 16:30:08Z], 30] 15:05:06.966 [debug] QUERY OK source="media_items" db=1.2ms idle=506.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 told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "dbaaaca0-e09a-4682-8629-aade19ddf768", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", 9, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, false, false, 30, [], 98, ~U[2026-10-17 16:30:08Z], ~U[2026-10-26 20:05:06Z], ~U[2026-10-26 20:05:06Z], "If you told me that a project wasn't suitable to dogfood by it's own developers would you trust it, well that's a great question for Gitea for nearly a decade.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nGitea Blog Post: https://blog.gitea.com/open-source-sustainment/\nOpen Letter: https://gitea-open-letter.coding.social/\nFollow Up Blog: https://blog.gitea.com/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/\nGitea Gitea: https://gitea.com/gitea\nGitea Issue: https://github.com/go-gitea/gitea/issues/1029\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Gitea #Github #Gitlab #Git #FOSS #OpenSource #Linux\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Gitea Is Not Suitable For Gitea", "cxbtnPAL8Z8", 1047, false, "https://www.youtube.com/watch?v=cxbtnPAL8Z8", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101700_Gitea Is Not Suitable For Gitea.mp4", false, 30, ~U[2026-10-17 16:30:08Z]] 15:05:06.966 [debug] QUERY OK source="sources" db=0.2ms idle=98.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:05:06.967 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:05:06.967 [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 [4175011] 15:05:06.967 [debug] Current batch of media processed. Will check again in 1000ms 15:05:07.968 [debug] Current batch of media processed. Will check again in 1000ms 15:05:08.969 [debug] Current batch of media processed. Will check again in 1000ms 15:05:09.970 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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" => 1126, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", "id" => "Gn1n4CuKccI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Gn1n4CuKccI", "playlist_index" => 10, "timestamp" => 1792081827, "title" => "I Guess MacOS Isn't \"Unix\" Anymore", "upload_date" => "20261015"} 15:05:09.971 [debug] QUERY OK source="sources" db=0.2ms idle=1512.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:05:09.971 [debug] QUERY OK source="sources" db=0.1ms idle=1512.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:05:09.976 [debug] QUERY OK source="media_items" db=4.8ms idle=1100.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-15 16:30:27Z], 30] 15:05:09.978 [debug] QUERY OK source="media_items" db=1.0ms idle=518.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" ["Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "35438e12-62d6-4f5d-92b4-c7b84b99c9d2", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", 10, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, false, false, 30, [], 98, ~U[2026-10-15 16:30:27Z], ~U[2026-10-26 20:05:09Z], ~U[2026-10-26 20:05:09Z], "Out of nowhere it seems like MacOS has just vanished from the Unix registry so lets take this as an opportunity to talk about why it was even on the list in the first place. \n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nUnix Registry: https://www.opengroup.org//openbrand/register/\nOSNews Article: https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#MacOS #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.", "I Guess MacOS Isn't \"Unix\" Anymore", "Gn1n4CuKccI", 1126, false, "https://www.youtube.com/watch?v=Gn1n4CuKccI", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101500_I Guess MacOS Isn't "Unix" Anymore.mp4", false, 30, ~U[2026-10-15 16:30:27Z]] 15:05:09.978 [debug] QUERY OK source="sources" db=0.2ms 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] 15:05:09.978 [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] 15:05:09.979 [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 [4159190] 15:05:09.979 [debug] Current batch of media processed. Will check again in 1000ms 15:05:10.979 [debug] Current batch of media processed. Will check again in 1000ms 15:05:11.980 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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" => 836, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", "id" => "QeXNWDv1JGE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QeXNWDv1JGE", "playlist_index" => 11, "timestamp" => 1791995414, "title" => "The JPEG XL Saga Is Finally Over", "upload_date" => "20261014"} 15:05:11.981 [debug] QUERY OK source="sources" db=0.1ms idle=522.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:05:11.981 [debug] QUERY OK source="sources" db=0.1ms idle=522.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:05:11.986 [debug] QUERY OK source="media_items" db=4.7ms idle=522.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-14 16:30:14Z], 30] 15:05:11.988 [debug] QUERY OK source="media_items" db=1.1ms idle=528.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" ["Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "c4172e6e-697d-4f82-ab76-55d5ad7f0c3b", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", 11, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, false, false, 30, [], 98, ~U[2026-10-14 16:30:14Z], ~U[2026-10-26 20:05:11Z], ~U[2026-10-26 20:05:11Z], "Finally the saga of JPEG XL is coming to an end, finally JPEG XL has been fully accepted by Google and is available across all major browsers.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nChrome Blog Post: https://developer.chrome.com/blog/jpeg-xl-in-chrome\nJPEG XL Thread: https://issues.chromium.org/issues/40168998#comment85\nSafari Notes: https://developer.apple.com/documentation/safari-release-notes/safari-17-release-notes\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Chrome #JpegXL #Firefox #Chromium #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 JPEG XL Saga Is Finally Over", "QeXNWDv1JGE", 836, false, "https://www.youtube.com/watch?v=QeXNWDv1JGE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101400_The JPEG XL Saga Is Finally Over.mp4", false, 30, ~U[2026-10-14 16:30:14Z]] 15:05:11.988 [debug] QUERY OK source="sources" db=0.1ms idle=112.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:05:11.988 [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] 15:05:11.988 [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 [4151358] 15:05:11.989 [debug] Current batch of media processed. Will check again in 1000ms 15:05:12.989 [debug] Current batch of media processed. Will check again in 1000ms 15:05:13.990 [debug] Current batch of media processed. Will check again in 1000ms 15:05:14.991 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 1071, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", "id" => "_pojeQDbt5Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_pojeQDbt5Q", "playlist_index" => 12, "timestamp" => 1791909021, "title" => "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "upload_date" => "20261013"} 15:05:14.992 [debug] QUERY OK source="sources" db=0.1ms idle=1533.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:05:14.992 [debug] QUERY OK source="sources" db=0.1ms idle=1533.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:05:14.997 [debug] QUERY OK source="media_items" db=5.1ms idle=1533.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-13 16:30:21Z], 30] 15:05:14.999 [debug] QUERY OK source="media_items" db=1.2ms idle=1119.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" ["There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "03c9c5b2-cc4b-47c2-bc94-c5c8c638e519", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", 12, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, false, false, 30, [], 98, ~U[2026-10-13 16:30:21Z], ~U[2026-10-26 20:05:14Z], ~U[2026-10-26 20:05:14Z], "There's something crazy going on with AI right now, people have decided to shift there attention to cracking open and rewriting proprietary software like the Adobe suite and Microsoft suite in the form of Artcraft, we'll how long this goes for without being legally challenged\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nIW4L Repo: https://github.com/vladtrc/iw4L\nArtcraft Website: https://getartcraft.com/\nESR Comment: https://x.com/esrtweet/status/2106983467141509385\nDave Plumber Comment: https://x.com/davepl1968/status/2107875089446580273\nGingerBill Comment 1: https://x.com/TheGingerBill/status/2109679856405332307\nGingerBill Comment 2: https://x.com/thegingerbill/status/2109703767796875305\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #AI #LLM #OpenSource #FOSS #LinuxSoftware\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office", "_pojeQDbt5Q", 1071, false, "https://www.youtube.com/watch?v=_pojeQDbt5Q", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101300_Artcraft Keeps Slopping Clones Of Adobe And Microsoft Office.mp4", false, 30, ~U[2026-10-13 16:30:21Z]] 15:05:14.999 [debug] QUERY OK source="sources" db=0.2ms 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] 15:05:15.000 [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] 15:05:15.000 [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 [4143528] 15:05:15.000 [debug] Current batch of media processed. Will check again in 1000ms 15:05:16.001 [debug] Current batch of media processed. Will check again in 1000ms 15:05:17.002 [debug] Current batch of media processed. Will check again in 1000ms 15:05:18.003 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if 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" => 782, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", "id" => "kUxDwtlnO_Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "playlist_index" => 13, "timestamp" => 1791822640, "title" => "A New Approach To An Ancient Linux Terminal Problem", "upload_date" => "20261012"} 15:05:18.004 [debug] QUERY OK source="sources" db=0.2ms idle=1545.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:05:18.004 [debug] QUERY OK source="sources" db=0.1ms idle=1545.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [30] 15:05:18.010 [debug] QUERY OK source="media_items" db=5.1ms idle=1546.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-12 16:30:40Z], 30] 15:05:18.011 [debug] QUERY OK source="media_items" db=1.1ms idle=1127.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" ["For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "4a4d1752-6c5f-4ed5-975c-c7141ae9c3a6", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", 13, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, false, false, 30, [], 98, ~U[2026-10-12 16:30:40Z], ~U[2026-10-26 20:05:18Z], ~U[2026-10-26 20:05:18Z], "For a long time there has been a problem on Linux where knowing which terminal to open for a terminal app isn't entirely clear but there's a new freedesktop protocol being worked on to clean that up.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nTerminal Intent: https://specifications.freedesktop.org/terminal-intent/latest/\nIntent Apps: https://specifications.freedesktop.org/intent-apps/latest/\nAlternatives Docs: https://linux.die.net/man/8/alternatives\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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 #Terminal #OpenSource #FOSS #LinuxDesktop #Software\n\n🎵 Ending music\nTrack: Debris & Jonth - Game Time [NCS Release]\nMusic provided by NoCopyrightSounds.\nWatch: https://www.youtube.com/watch?v=yDTvvOTie0w \nFree Download / Stream: http://ncs.io/GameTime\n\nDISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.", "A New Approach To An Ancient Linux Terminal Problem", "kUxDwtlnO_Y", 782, false, "https://www.youtube.com/watch?v=kUxDwtlnO_Y", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101200_A New Approach To An Ancient Linux Terminal Problem.mp4", false, 30, ~U[2026-10-12 16:30:40Z]] 15:05:18.012 [debug] QUERY OK source="sources" db=0.1ms idle=127.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:05:18.012 [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] 15:05:18.012 [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 [4135585] 15:05:18.012 [debug] Current batch of media processed. Will check again in 1000ms 15:05:19.013 [debug] Current batch of media processed. Will check again in 1000ms 15:05:20.014 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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" => 910, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", "id" => "SNInG2vGTvE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SNInG2vGTvE", "playlist_index" => 14, "timestamp" => 1791736225, "title" => "X11 Has Better Latency Than Wayland... Technically", "upload_date" => "20261011"} 15:05:20.015 [debug] QUERY OK source="sources" db=0.1ms idle=556.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:05:20.015 [debug] QUERY OK source="sources" db=0.1ms idle=556.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:05:20.020 [debug] QUERY OK source="media_items" db=4.8ms idle=556.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-11 16:30:25Z], 30] 15:05:20.022 [debug] QUERY OK source="media_items" db=1.0ms idle=562.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" ["Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "3fec437a-8505-4937-823f-5a1c89064b8d", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", 14, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, false, false, 30, [], 98, ~U[2026-10-11 16:30:25Z], ~U[2026-10-26 20:05:20Z], ~U[2026-10-26 20:05:20Z], "Latency on X11 is technically better than Wayland but it may not be as clear as you think.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nPrevious Blog Post: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/\nLatency Study: https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445245\nNvidia Talk: https://www.youtube.com/watch?v=j5W5ErEMnvM&t=29246s\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#X11 #Wayland #Nvidia #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.", "X11 Has Better Latency Than Wayland... Technically", "SNInG2vGTvE", 910, false, "https://www.youtube.com/watch?v=SNInG2vGTvE", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101100_X11 Has Better Latency Than Wayland... Technically.mp4", false, 30, ~U[2026-10-11 16:30:25Z]] 15:05:20.022 [debug] QUERY OK source="sources" db=0.1ms idle=134.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:05:20.022 [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] 15:05:20.022 [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 [4127723] 15:05:20.023 [debug] Current batch of media processed. Will check again in 1000ms 15:05:21.023 [debug] Current batch of media processed. Will check again in 1000ms 15:05:22.024 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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" => 726, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", "id" => "_3ir-4jfwVg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_3ir-4jfwVg", "playlist_index" => 15, "timestamp" => 1791649806, "title" => "Systemd Wants To Centralize Tracking Your Apps", "upload_date" => "20261010"} 15:05:22.025 [debug] QUERY OK source="sources" db=0.1ms idle=566.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:05:22.025 [debug] QUERY OK source="sources" db=0.1ms idle=566.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:05:22.031 [debug] QUERY OK source="media_items" db=5.6ms idle=566.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-10 16:30:06Z], 30] 15:05:22.032 [debug] QUERY OK source="media_items" db=1.1ms idle=572.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" ["Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "51143482-8aab-4ebf-a438-80d59f608b9c", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", 15, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, false, false, 30, [], 98, ~U[2026-10-10 16:30:06Z], ~U[2026-10-26 20:05:22Z], ~U[2026-10-26 20:05:22Z], "Systemd is working on a whole new component called appd which is trying to solve some problems for the future of Flatpak\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nSystemd PR: https://github.com/systemd/systemd/pull/43885\nNew Phoronix Article: https://www.phoronix.com/news/systemd-appd\nFlatpak Next Talk: https://youtu.be/1AXBfsiaQNk?t=16218\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.xyz/mastodon\n🖥️ GitHub: https://brodierobertson.xyz/github\n\n==========Credits==========\n🎨 Channel Art:\nProfile Picture:\nhttps://www.instagram.com/supercozman_draws/\n\n#Systemd #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.", "Systemd Wants To Centralize Tracking Your Apps", "_3ir-4jfwVg", 726, false, "https://www.youtube.com/watch?v=_3ir-4jfwVg", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e101000_Systemd Wants To Centralize Tracking Your Apps.mp4", false, 30, ~U[2026-10-10 16:30:06Z]] 15:05:22.033 [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] 15:05:22.033 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:05:22.033 [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 [4121430] 15:05:22.033 [debug] Current batch of media processed. Will check again in 1000ms 15:05:23.034 [debug] Current batch of media processed. Will check again in 1000ms 15:05:23.705 [info] GET /media/67bd3b3d-0eda-4997-8f6e-4a4dc4a51d53/stream 15:05:23.705 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "67bd3b3d-0eda-4997-8f6e-4a4dc4a51d53"} Pipelines: [:maybe_basic_auth] 15:05:23.712 [debug] QUERY OK source="media_items" db=6.0ms idle=814.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" = ?) ["67bd3b3d-0eda-4997-8f6e-4a4dc4a51d53"] 15:05:23.712 [debug] Invalid range request for media item: 67bd3b3d-0eda-4997-8f6e-4a4dc4a51d53 - serving full file 15:05:23.712 [info] Sent 200 in 6ms 15:05:23.751 [info] GET /media/88bff451-560b-477e-bdbb-b5b03c4202c4/stream 15:05:23.751 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "88bff451-560b-477e-bdbb-b5b03c4202c4"} Pipelines: [:maybe_basic_auth] 15:05:23.752 [debug] QUERY OK source="media_items" db=0.8ms idle=292.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" = ?) ["88bff451-560b-477e-bdbb-b5b03c4202c4"] 15:05:23.752 [debug] Invalid range request for media item: 88bff451-560b-477e-bdbb-b5b03c4202c4 - serving full file 15:05:23.752 [info] Sent 200 in 1ms 15:05:25.237 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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" => 810, "filename" => "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", "id" => "qWyUF_vMUWM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qWyUF_vMUWM", "playlist_index" => 16, "timestamp" => 1791477008, "title" => "Where Do The Linux Desktops Stand On AI", "upload_date" => "20261008"} 15:05:25.238 [debug] QUERY OK source="sources" db=0.7ms idle=1778.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 15:05:25.238 [debug] QUERY OK source="sources" db=0.2ms idle=1779.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:05:25.244 [debug] QUERY OK source="media_items" db=5.8ms idle=1526.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-10-08 16:30:08Z], 30] 15:05:25.246 [debug] QUERY OK source="media_items" db=1.2ms idle=1492.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" ["Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "1b75a9f1-0d69-4ec3-94a1-dd669dcfd699", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", 16, "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, false, false, 30, [], 98, ~U[2026-10-08 16:30:08Z], ~U[2026-10-26 20:05:25Z], ~U[2026-10-26 20:05:25Z], "Every other day a new Linux project seems to be getting an AI policy, but where do the Linux desktops stand on that matter including a desktop that just got a policy.\n\n==========Support The Channel==========\n► Patreon: https://brodierobertson.xyz/patreon\n► Paypal: https://brodierobertson.xyz/paypal\n► Liberapay: https://brodierobertson.xyz/liberapay\n► Amazon USA: https://brodierobertson.xyz/amazonusa\n\n==========Resources==========\nAnnouncement: https://www.reddit.com/r/pop_os/comments/1wuej40/cosmic_projects_will_no_longer_accept/\nTemplate: https://github.com/pop-os/cosmic-epoch/blob/master/.github/PULL_REQUEST_TEMPLATE.md\nBudgie Policy: https://docs.buddiesofbudgie.org/organization/ai-policy/\nHyprland Policy: https://github.com/hyprwm/.github/blob/main/policies/AI_USAGE.md\nGNOME Blog: https://blogs.gnome.org/alatiera/2026/09/23/the-gnome-llm-policy-that-i-want/\nForum Post: https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327\nElementary Policy: https://docs.elementary.io/contributor-guide/development/generative-ai-policy\n\n=========Video Platforms==========\n🎥 React: https://www.youtube.com/@BrodieRobertsonReacts\n🎥 Podcast: https://techovertea.xyz/youtube\n🎮 Gaming: https://brodierobertson.xyz/gaming\n\n==========Social Media==========\n🎤 Discord: https://brodierobertson.xyz/discord\n🐦 Twitter: https://brodierobertson.xyz/twitter\n🌐 Mastodon: https://brodierobertson.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.", "Where Do The Linux Desktops Stand On AI", "qWyUF_vMUWM", 810, false, "https://www.youtube.com/watch?v=qWyUF_vMUWM", "/downloads/chris/tubes/Brodie Robertson_[UCld68syR8Wi-GY_n4CaoJGA]/Season 2026/s2026e100800_Where Do The Linux Desktops Stand On AI.mp4", false, 30, ~U[2026-10-08 16:30:08Z]] 15:05:25.247 [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" = ?) [30] 15:05:25.247 [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] 15:05:25.247 [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 [4105704] 15:05:25.247 [debug] Current batch of media processed. Will check again in 1000ms 15:05:26.249 [debug] Current batch of media processed. Will check again in 1000ms 15:05:27.250 [debug] Current batch of media processed. Will check again in 1000ms 15:05:28.250 [debug] Current batch of media processed. Will check again in 1000ms 15:05:29.252 [debug] Current batch of media processed. Will check again in 1000ms 15:05:30.252 [debug] Current batch of media processed. Will check again in 1000ms 15:05:31.253 [debug] Current batch of media processed. Will check again in 1000ms 15:05:31.349 [info] {"source":"oban","duration":9663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:32.254 [debug] Current batch of media processed. Will check again in 1000ms 15:05:33.256 [debug] Current batch of media processed. Will check again in 1000ms 15:05:34.256 [debug] Current batch of media processed. Will check again in 1000ms 15:05:35.257 [debug] Current batch of media processed. Will check again in 1000ms 15:05:36.259 [debug] Current batch of media processed. Will check again in 1000ms 15:05:36.261 [info] {"args":{"id":46},"id":541586,"meta":{},"system_time":1793045136261373017,"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"]} 15:05:36.261 [debug] QUERY OK source="sources" db=0.2ms idle=1024.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:05:36.262 [debug] QUERY OK source="settings" db=0.2ms idle=1025.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:36.263 [debug] QUERY OK source="media_items" db=0.6ms idle=1008.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")))) [46] 15:05:36.263 [debug] QUERY OK source="media_items" db=0.7ms idle=8.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [46] 15:05:36.264 [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] 15:05:36.264 [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 [] 15:05:36.264 [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 [] 15:05:36.267 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [46] 15:05:36.269 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 15:05:36.269 [debug] Current batch of media processed. Will check again in 1000ms 15:05:36.269 [debug] QUERY OK source="settings" db=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:36.269 [debug] QUERY OK source="settings" db=0.0ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:36.269 [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 [] 15:05:36.270 [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/b4/6b/b46ba26487ec6afb7adc60bc0f21369c580cc1c12e11b7383bb25f117b7efcd5.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/29/61/2961b5fb4d733ac5f43739a9935c0d307485fe1098532aa6b42a865836b27164.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:05:37.259 [debug] Current batch of media processed. Will check again in 1000ms 15:05:37.270 [debug] Current batch of media processed. Will check again in 1000ms 15:05:38.260 [debug] Current batch of media processed. Will check again in 1000ms 15:05:38.271 [debug] Current batch of media processed. Will check again in 1000ms 15:05:39.261 [debug] Current batch of media processed. Will check again in 1000ms 15:05:39.272 [debug] Current batch of media processed. Will check again in 1000ms 15:05:40.262 [debug] Current batch of media processed. Will check again in 1000ms 15:05:40.273 [debug] Current batch of media processed. Will check again in 1000ms 15:05:41.263 [debug] Current batch of media processed. Will check again in 1000ms 15:05:41.274 [debug] Current batch of media processed. Will check again in 1000ms 15:05:42.264 [debug] Current batch of media processed. Will check again in 1000ms 15:05:42.275 [debug] Current batch of media processed. Will check again in 1000ms 15:05:43.265 [debug] Current batch of media processed. Will check again in 1000ms 15:05:43.276 [debug] Current batch of media processed. Will check again in 1000ms 15:05:44.266 [debug] Current batch of media processed. Will check again in 1000ms 15:05:44.277 [debug] Current batch of media processed. Will check again in 1000ms 15:05:45.267 [debug] Current batch of media processed. Will check again in 1000ms 15:05:45.278 [debug] Current batch of media processed. Will check again in 1000ms 15:05:46.268 [debug] Current batch of media processed. Will check again in 1000ms 15:05:46.279 [debug] Current batch of media processed. Will check again in 1000ms 15:05:47.269 [debug] Current batch of media processed. Will check again in 1000ms 15:05:47.280 [debug] Current batch of media processed. Will check again in 1000ms 15:05:48.270 [debug] Current batch of media processed. Will check again in 1000ms 15:05:48.281 [debug] Current batch of media processed. Will check again in 1000ms 15:05:49.271 [debug] Current batch of media processed. Will check again in 1000ms 15:05:49.282 [debug] Current batch of media processed. Will check again in 1000ms 15:05:50.272 [debug] Current batch of media processed. Will check again in 1000ms 15:05:50.283 [debug] Current batch of media processed. Will check again in 1000ms 15:05:51.273 [debug] Current batch of media processed. Will check again in 1000ms 15:05:51.284 [debug] Current batch of media processed. Will check again in 1000ms 15:05:52.274 [debug] Current batch of media processed. Will check again in 1000ms 15:05:52.285 [debug] Current batch of media processed. Will check again in 1000ms 15:05:53.275 [debug] Current batch of media processed. Will check again in 1000ms 15:05:53.286 [debug] Current batch of media processed. Will check again in 1000ms 15:05:54.132 [info] GET /sources/37/media/4078604 15:05:54.133 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4078604", "prevent_download" => "true", "source_id" => "37"} Pipelines: [:browser] 15:05:54.133 [debug] QUERY OK source="media_items" db=0.2ms idle=1868.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" = ?) [4078604] 15:05:54.134 [debug] QUERY OK source="tasks" db=0.2ms idle=1869.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" [4078604] 15:05:54.134 [debug] QUERY OK source="sources" db=0.2ms idle=1869.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:05:54.135 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=1859.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 (?,?)) [502955, 506256] 15:05:54.136 [debug] QUERY OK source="settings" db=0.1ms idle=859.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:54.136 [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 [] 15:05:54.136 [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 [] 15:05:54.137 [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] 15:05:54.138 [info] Sent 200 in 5ms 15:05:54.182 [info] GET /sources/43/media/3886604 15:05:54.182 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3886604", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 15:05:54.183 [debug] QUERY OK source="media_items" db=0.2ms idle=47.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" = ?) [3886604] 15:05:54.184 [debug] QUERY OK source="tasks" db=0.1ms idle=47.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" [3886604] 15:05:54.184 [debug] QUERY OK source="sources" db=0.3ms idle=47.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [43] 15:05:54.184 [debug] QUERY OK source="settings" db=0.0ms idle=47.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:54.184 [debug] QUERY OK source="settings" db=0.0ms idle=47.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:54.185 [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 [] 15:05:54.186 [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] 15:05:54.187 [info] Sent 200 in 5ms 15:05:54.276 [debug] Current batch of media processed. Will check again in 1000ms 15:05:54.287 [debug] Current batch of media processed. Will check again in 1000ms 15:05:55.193 [info] GET /sources/30/media/4182968 15:05:55.193 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4182968", "prevent_download" => "true", "source_id" => "30"} Pipelines: [:browser] 15:05:55.194 [debug] QUERY OK source="media_items" db=0.3ms 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" = ?) [4182968] 15:05:55.194 [debug] QUERY OK source="tasks" db=0.1ms idle=1009.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" [4182968] 15:05:55.194 [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" = ?) [30] 15:05:55.195 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=1008.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 (?,?)) [526297, 528987] 15:05:55.195 [debug] QUERY OK source="settings" db=0.0ms idle=917.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:55.195 [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 [] 15:05:55.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 [] 15:05:55.196 [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] 15:05:55.198 [info] Sent 200 in 5ms 15:05:55.277 [debug] Current batch of media processed. Will check again in 1000ms 15:05:55.288 [debug] Current batch of media processed. Will check again in 1000ms 15:05:55.666 [info] GET /sources/37/media/3888050 15:05:55.666 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3888050", "prevent_download" => "true", "source_id" => "37"} Pipelines: [:browser] 15:05:55.666 [debug] QUERY OK source="media_items" db=0.2ms idle=470.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" = ?) [3888050] 15:05:55.667 [debug] QUERY OK source="tasks" db=0.1ms idle=471.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" [3888050] 15:05:55.667 [debug] QUERY OK source="sources" db=0.2ms idle=470.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:05:55.667 [debug] QUERY OK source="settings" db=0.1ms idle=470.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:55.667 [debug] QUERY OK source="settings" db=0.1ms idle=370.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:55.668 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:55.668 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:05:55.669 [info] Sent 200 in 3ms 15:05:56.165 [info] GET /sources/43/media/4211934 15:05:56.165 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4211934", "prevent_download" => "true", "source_id" => "43"} Pipelines: [:browser] 15:05:56.166 [debug] QUERY OK source="media_items" db=0.3ms idle=498.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" = ?) [4211934] 15:05:56.166 [debug] QUERY OK source="tasks" db=0.3ms idle=498.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" [4211934] 15:05:56.167 [debug] QUERY OK source="sources" db=0.4ms idle=498.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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] 15:05:56.167 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=498.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" = ?) [533050] 15:05:56.167 [debug] QUERY OK source="settings" db=0.0ms idle=498.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:56.167 [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 [] 15:05:56.168 [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 [] 15:05:56.168 [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] 15:05:56.169 [info] Sent 200 in 4ms 15:05:56.278 [debug] Current batch of media processed. Will check again in 1000ms 15:05:56.289 [debug] Current batch of media processed. Will check again in 1000ms 15:05:57.279 [debug] Current batch of media processed. Will check again in 1000ms 15:05:57.290 [debug] Current batch of media processed. Will check again in 1000ms 15:05:58.280 [debug] Current batch of media processed. Will check again in 1000ms 15:05:58.291 [debug] Current batch of media processed. Will check again in 1000ms 15:05:59.281 [debug] Current batch of media processed. Will check again in 1000ms 15:05:59.292 [debug] Current batch of media processed. Will check again in 1000ms 15:06:00.282 [debug] Current batch of media processed. Will check again in 1000ms 15:06:00.293 [debug] Current batch of media processed. Will check again in 1000ms 15:06:00.341 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:06:01.283 [debug] Current batch of media processed. Will check again in 1000ms 15:06:01.294 [debug] Current batch of media processed. Will check again in 1000ms 15:06:01.359 [info] {"source":"oban","duration":10008,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:02.284 [debug] Current batch of media processed. Will check again in 1000ms 15:06:02.295 [debug] Current batch of media processed. Will check again in 1000ms 15:06:03.285 [debug] Current batch of media processed. Will check again in 1000ms 15:06:03.296 [debug] Current batch of media processed. Will check again in 1000ms 15:06:04.286 [debug] Current batch of media processed. Will check again in 1000ms 15:06:04.297 [debug] Current batch of media processed. Will check again in 1000ms 15:06:05.287 [debug] Current batch of media processed. Will check again in 1000ms 15:06:05.298 [debug] Current batch of media processed. Will check again in 1000ms 15:06:06.288 [debug] Current batch of media processed. Will check again in 1000ms 15:06:06.299 [debug] Current batch of media processed. Will check again in 1000ms 15:06:07.289 [debug] Current batch of media processed. Will check again in 1000ms 15:06:07.300 [debug] Current batch of media processed. Will check again in 1000ms 15:06:08.290 [debug] Current batch of media processed. Will check again in 1000ms 15:06:08.301 [debug] Current batch of media processed. Will check again in 1000ms 15:06:09.291 [debug] Current batch of media processed. Will check again in 1000ms 15:06:09.302 [debug] Current batch of media processed. Will check again in 1000ms 15:06:10.292 [debug] Current batch of media processed. Will check again in 1000ms 15:06:10.303 [debug] Current batch of media processed. Will check again in 1000ms 15:06:11.293 [debug] Current batch of media processed. Will check again in 1000ms 15:06:11.304 [debug] Current batch of media processed. Will check again in 1000ms 15:06:12.294 [debug] Current batch of media processed. Will check again in 1000ms 15:06:12.305 [debug] Current batch of media processed. Will check again in 1000ms 15:06:13.295 [debug] Current batch of media processed. Will check again in 1000ms 15:06:13.306 [debug] Current batch of media processed. Will check again in 1000ms 15:06:14.296 [debug] Current batch of media processed. Will check again in 1000ms 15:06:14.307 [debug] Current batch of media processed. Will check again in 1000ms 15:06:15.297 [debug] Current batch of media processed. Will check again in 1000ms 15:06:15.308 [debug] Current batch of media processed. Will check again in 1000ms 15:06:16.298 [debug] Current batch of media processed. Will check again in 1000ms 15:06:16.309 [debug] Current batch of media processed. Will check again in 1000ms 15:06:17.299 [debug] Current batch of media processed. Will check again in 1000ms 15:06:17.310 [debug] Current batch of media processed. Will check again in 1000ms 15:06:18.300 [debug] Current batch of media processed. Will check again in 1000ms 15:06:18.311 [debug] Current batch of media processed. Will check again in 1000ms 15:06:19.199 [info] GET /sources/19/edit 15:06:19.199 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "19"} Pipelines: [:browser] 15:06:19.199 [debug] QUERY OK source="sources" db=0.2ms idle=1875.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:06:19.200 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1876.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:06:19.200 [debug] QUERY OK source="settings" db=0.0ms idle=1876.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:19.200 [debug] QUERY OK source="settings" db=0.0ms idle=1860.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:19.200 [debug] QUERY OK source="settings" db=0.0ms idle=859.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:19.203 [info] Sent 200 in 3ms 15:06:19.210 [info] GET /media_profiles/3 15:06:19.210 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 15:06:19.211 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 15:06:19.212 [debug] QUERY OK source="sources" db=0.4ms idle=11.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [3] 15:06:19.212 [debug] QUERY OK source="settings" db=0.0ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:19.212 [debug] QUERY OK source="settings" db=0.0ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:19.212 [debug] QUERY OK source="settings" db=0.0ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:19.213 [info] Sent 200 in 2ms 15:06:19.301 [debug] Current batch of media processed. Will check again in 1000ms 15:06:19.312 [debug] Current batch of media processed. Will check again in 1000ms 15:06:20.221 [info] GET /sources/32/force_metadata_refresh 15:06:20.221 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:06:20.221 [debug] QUERY OK source="settings" db=0.0ms idle=1009.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:20.221 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:06:20.222 [error] #PID<0.255740.0> running PinchflatWeb.Endpoint (connection #PID<0.255737.0>, stream id 3) terminated Server: tubesync.cochrun.xyz:80 (http) Request: GET /sources/32/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/32/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.255737.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56300}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVS0td2hoMU9OdlVTWGRrUzVoMmZ4ekkw.yxj2yUxc1-lpwy6mIrZ9rgjyp-aRCdlUjCrfOfAcQXU", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVS0td2hoMU9OdlVTWGRrUzVoMmZ4ekkw.yxj2yUxc1-lpwy6mIrZ9rgjyp-aRCdlUjCrfOfAcQXU" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.255740.0>, params: %{}, path_info: ["sources", "32", "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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVS0td2hoMU9OdlVTWGRrUzVoMmZ4ekkw.yxj2yUxc1-lpwy6mIrZ9rgjyp-aRCdlUjCrfOfAcQXU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVS0td2hoMU9OdlVTWGRrUzVoMmZ4ekkw.yxj2yUxc1-lpwy6mIrZ9rgjyp-aRCdlUjCrfOfAcQXU"}, {"host", "tubesync.cochrun.xyz"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"via", "2.0 Caddy"}, {"x-forwarded-for", "216.73.217.174"}, {"x-forwarded-host", "tubesync.cochrun.xyz"}, {"x-forwarded-proto", "https"} ], request_path: "/sources/32/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GOItF2lOyTnsBHkAf6OC"} ], 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.255737.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56300}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVS0td2hoMU9OdlVTWGRrUzVoMmZ4ekkw.yxj2yUxc1-lpwy6mIrZ9rgjyp-aRCdlUjCrfOfAcQXU", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.255737.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/32/force_metadata_refresh", host: "tubesync.cochrun.xyz", peer: {{172, 20, 0, 1}, 56300}, 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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVS0td2hoMU9OdlVTWGRrUzVoMmZ4ekkw.yxj2yUxc1-lpwy6mIrZ9rgjyp-aRCdlUjCrfOfAcQXU", "host" => "tubesync.cochrun.xyz", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "via" => "2.0 Caddy", "x-forwarded-for" => "216.73.217.174", "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.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVS0td2hoMU9OdlVTWGRrUzVoMmZ4ekkw.yxj2yUxc1-lpwy6mIrZ9rgjyp-aRCdlUjCrfOfAcQXU" }, halted: false, host: "tubesync.cochrun.xyz", method: "GET", owner: #PID<0.255740.0>, params: %{}, path_info: ["sources", "32", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ (truncated) 15:06:20.302 [debug] Current batch of media processed. Will check again in 1000ms 15:06:20.313 [debug] Current batch of media processed. Will check again in 1000ms 15:06:20.689 [info] GET /media_profiles/2/edit 15:06:20.689 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 15:06:20.689 [debug] QUERY OK source="media_profiles" db=0.1ms idle=468.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 15:06:20.690 [debug] QUERY OK source="settings" db=0.1ms idle=468.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:20.690 [debug] QUERY OK source="settings" db=0.0ms idle=366.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:20.690 [debug] QUERY OK source="settings" db=0.1ms idle=367.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:20.692 [info] Sent 200 in 3ms 15:06:21.137 [info] GET /media_profiles/1 15:06:21.137 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:06:21.138 [debug] QUERY OK source="media_profiles" db=0.1ms idle=794.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:21.138 [debug] QUERY OK source="sources" db=0.4ms idle=448.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 15:06:21.139 [debug] QUERY OK source="settings" db=0.0ms idle=449.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:21.139 [debug] QUERY OK source="settings" db=0.0ms idle=448.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:21.139 [debug] QUERY OK source="settings" db=0.1ms idle=448.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:21.141 [info] Sent 200 in 3ms 15:06:21.303 [debug] Current batch of media processed. Will check again in 1000ms 15:06:21.314 [debug] Current batch of media processed. Will check again in 1000ms